WebGUI lib/WebGUI/Storage.pm远程脚本代码执行漏洞
发布日期:2008-12-02
更新日期:2008-12-04
受影响系统:Plain Black Software WebGUI 7.x
不受影响系统:Plain Black Software WebGUI 7.6.5 (beta)
描述:
BUGTRAQ ID:
32602
WebGUI是一个CMS(内容管理系统)软件,主要用来方便网站内容的发布与维护。
WebGUI没有正确地过滤某些邮件附件。如果用户在使用协作系统的邮件功能的话,就可以向协作系统发送包含有可执行程序(如perl程序、shell脚本或php页面)的附件;如果Web服务器设置可执行上述类型文件,从协作系统的Web视图点击文件就会执行程序。
<*来源:Plain Black Software
链接:
http://secunia.com/advisories/32934/
http://www.webgui.org/getwebgui/advisories/security-executable-upload-problem
*>
建议:
临时解决方法:
* 编辑lib/WebGUI/Storage.pm并用以下代码替换addFileFromScalar()方式:
sub addFileFromScalar {
my ($self, $filename, $content) = @_;
if (isIn($self->getFileExtension($filename), qw(pl perl sh cgi php asp html htm))) { # make us safe from malicious uploads
$filename =~ s/\./\_/g;
$filename .= ".txt";
}
$filename = $self->session->url->makeCompliant($filename);
if (open(my $FILE, ">", $self->getPath($filename))) {
print $FILE $content;
close($FILE);
$self->_changeOwner($self->getPath($filename));
}
else {
$self->_addError("Couldn't create file ".$self->getPath($filename)." because ".$!);
}
return $filename;
}
厂商补丁:
Plain Black Software
--------------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://downloads.sourceforge.net/pbwebgui/webgui-7.6.5-beta.tar.gz?modtime=1228245179&big_mirror=1浏览次数:2402
严重程度:0(网友投票)