安全研究

安全漏洞
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(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障