BUGTRAQ ID: 30290 CNCAN ID:CNCAN-2008072103 SmbClientParser是一款写Netbios交互代码的Perl模块。 SmbClientParser不正确过滤用户提交的数据,远程攻击者可以利用漏洞以使用此模块的应用程序权限执行任意命令。 如果一个主机使用这个模块的工具扫描你的共享文件夹,可以在主机上执行SHELL命令。 此模块包含如下代码: my @var = `$pargs`; pargs使用如下的过滤器解析: my $pargs; if ($args=~/^([^;]*)$/) { # no ';' nickel $pargs=$1; } elsif ($smbscript) { # ';' is allowed inside -c ' ' if ($args=~/^([^;]* -c '[^']*'[^;]*)$/) { $pargs=$1; } else { # what that ? die("Why a ';' here ? => $args"); } } else { die("Why a ';' here ? => $args"); } 如果共享文件夹中包含如下名字的文件夹: ' x && xterm &# Perl就会执行xterm。 Alain Barbet Filesys::SmbClientParser 2.7 目前没有解决方案提供: <a href=http://search.cpan.org/~alian/Filesys-SmbClientParser-2.7/SmbClientParser.pm target=_blank>http://search.cpan.org/~alian/Filesys-SmbClientParser-2.7/SmbClientParser.pm</a>
BUGTRAQ ID: 30290 CNCAN ID:CNCAN-2008072103 SmbClientParser是一款写Netbios交互代码的Perl模块。 SmbClientParser不正确过滤用户提交的数据,远程攻击者可以利用漏洞以使用此模块的应用程序权限执行任意命令。 如果一个主机使用这个模块的工具扫描你的共享文件夹,可以在主机上执行SHELL命令。 此模块包含如下代码: my @var = `$pargs`; pargs使用如下的过滤器解析: my $pargs; if ($args=~/^([^;]*)$/) { # no ';' nickel $pargs=$1; } elsif ($smbscript) { # ';' is allowed inside -c ' ' if ($args=~/^([^;]* -c '[^']*'[^;]*)$/) { $pargs=$1; } else { # what that ? die("Why a ';' here ? => $args"); } } else { die("Why a ';' here ? => $args"); } 如果共享文件夹中包含如下名字的文件夹: ' x && xterm &# Perl就会执行xterm。 Alain Barbet Filesys::SmbClientParser 2.7 目前没有解决方案提供: <a href=http://search.cpan.org/~alian/Filesys-SmbClientParser-2.7/SmbClientParser.pm target=_blank>http://search.cpan.org/~alian/Filesys-SmbClientParser-2.7/SmbClientParser.pm</a>