Open WebMail任意脚本远程执行漏洞
发布日期:2002-12-19
更新日期:2002-12-24
受影响系统:Open Webmail Open Webmail 1.81
Open Webmail Open Webmail 1.8
Open Webmail Open Webmail 1.71
Open Webmail Open Webmail 1.70
不受影响系统:Open Webmail Open Webmail 1.90
描述:
BUGTRAQ ID:
6425
CVE(CAN) ID:
CVE-2002-1363
Open Webmail是一款免费开放源代码由PERL编写的WEB EMAIL应用程序,可使用于Unix和Linux操作系统。
Open Webmail中的'openwebmail-shared.pl'脚本不正确检查用户输入,远程攻击者可以利用这个漏洞以root用户权限在系统上执行任意命令。
Open Webmail以超级用户帐户使用suidperl运行某几个PERL CGI脚本,其中openwebmail-shared.pl脚本没有正确用户输入,可以导致以root用户权限在系统上执行任意命令。其代码如下:
- --- openwebmail-shared.pl
...
sub openwebmail_init {
...
$thissession = param("sessionid"); # (0)
...
$loginname =~ s/\-session\-0.*$//; # (1)
my $siteconf;
if ($loginname=~/\@(.+)$/) {
$siteconf="$config{'ow_etcdir'}/sites.conf/$1"; # (2)
} else {
my $httphost=$ENV{'HTTP_HOST'}; $httphost=~s/:\d+$//;
$siteconf="$config{'ow_etcdir'}/sites.conf/$httphost";
}
readconf(\%config, \%config_raw, "$siteconf") if ( -f "$siteconf"); # (3)
...
require $config{'auth_module'}; # (4)
- ---
(0)攻击者可以在这里传递任何参数:
http://site.url/cgi-bin/openwebmail-abook.pl?sessionid=@[PATH]-session-0
(1)$loginname现在就拥有类似如下的值:
如:"../../../../../home/ftp/incoming/attacker.conf"
(2)$siteconf相关路径可以在服务器上指定相关配置文件,攻击者可以利用匿名FTP或者本地上载包含恶意代码的配置文件。
(3)readconfig()函数读取明文方式存取的$siteconf文件,其格式如下:
- --
var_name variable_value
- --
在这个示例中, <attacker.conf>需要包含如下一行:
- --
auth_module /home/ftp/incoming/exploit.pl
(4)<exploit.pl>将以root用户权限执行。
<*来源:Dmitry Guyvoronsky (
demiurg@altaee.com)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=104031696120743&w=2
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 把如下代码:
- ---
$loginname =~ s/\-session\-0.*$//; # Grab loginname from sessionid
- ---
更改为:
- ---
$loginname =~ s/\-session\-0.*$//; # Grab loginname from sessionid
$loginname =~ s/[\.\/\;\|\'\"\`\&]//g;
- ---
厂商补丁:
Open Webmail
------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
Open Webmail Patch Open Webmail Patch
http://sourceforge.net/forum/forum.php?thread_id=782605&forum_id=108435浏览次数:3866
严重程度:0(网友投票)