安全研究

安全漏洞
TWiki INCLUDE函数拒绝服务漏洞

发布日期:2006-03-27
更新日期:2006-03-28

受影响系统:
TWiki TWiki 4.0.1
TWiki TWiki 4.0.0
不受影响系统:
TWiki TWiki 4.0.2
描述:
BUGTRAQ  ID: 17267
CVE(CAN) ID: CVE-2006-1387

TWiki是一款灵活易用、功能强大的企业协作平台。

TWiki的INCLUDE函数实现上存在漏洞,攻击者可能利用此漏洞对服务器执行拒绝服务攻击。

拥有编辑权限的用户可以通过URL向wiki页面中添加启动无限递归的INCLUDE函数。如果wiki页面通过URL包含其本身的话,或通过URL包含有起始wiki页面的话,就会触发无限递归,耗尽大量内存资源,导致拒绝服务。

<*来源:Kenneth Lavrsen (kenneth@lavrsenSTOPSPAM.dk
        Steffen Poulsen (twiki.org_20040802_steffen@forskernetSTOPSPAM.dk
        Sergej Zagursky (gvozdoder@mistgamesSTOPSPAM.ru
  
  链接:http://twiki.org/cgi-bin/view/Codev/SecurityAdvisoryDosAttackWithInclude?skin=print.pattern
        http://secunia.com/advisories/19410/print/
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

%INCLUDE{"http://wiki.example.com/cgi-bin/view/Sandbox/BombSite"}%

建议:
临时解决方法:

* 如果浏览器的身份为空的话,在Apache的http.conf设置anonymous_spider环境变量。在TWiki的bin目录的目录设置中拒绝anonymous_spider访问:

BrowserMatchNoCase ^$ anonymous_spider

<Directory "/var/www/twiki/bin">
    AllowOverride All
    Options ExecCGI
    Order Allow,Deny
    Allow from all
    Deny from env=anonymous_spider
</Directory>

* 在twiki/lib/TWiki.pm文件中,找到sub _includeUrl。在开始处添加返回:

# Fetch content from a URL for inclusion by an INCLUDE
sub _includeUrl {
    my( $this, $theUrl, $thePattern, $theWeb, $theTopic ) = @_;

    # Fix for Codev.SecurityAdvisoryDosAttackWithInclude
    return "%RED% Include of URL is disabled %ENDCOLOR%";

    my $text = '';
    my $host = '';
    my $port = 80;
    my $path = '';
    my $user = '';
    my $pass = '';

厂商补丁:

TWiki
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://twiki.org/

浏览次数:3546
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障