首页 -> 安全研究

安全研究

安全漏洞
phpBB Group phpBB2任意文件删除漏洞

发布日期:2005-02-20
更新日期:2005-02-23

受影响系统:
phpBB Group phpBB 2.0.11
不受影响系统:
phpBB Group phpBB 2.0.12
描述:
CVE(CAN) ID: CVE-2005-0258

phpBB Group phpBB2是一款开放源代码PHP论坛程序。

phpBB2对用户提交的URL输入缺少充分过滤,远程攻击者可以利用这个漏洞以WEB进程权限删除系统任意文件。

由于多个缺陷的组合允许攻击者控制传递给unlink()调用的参数,导致删除系统文件。第一个缺陷存在于avatar gallery中,用户允许指定所需avatar的目录名部分,不过由于对"/../"字符缺少充分过滤,可允许用户脱离avatar目录限制。问题代码如下:

    if (
file_exists(@phpbb_realpath($board_config['avatar_gallery_path']
       . '/' . $avatar_filename)) && ($mode == 'editprofile') )
    {
            $return = ", user_avatar = '" . str_replace("/'", "''",
               $avatar_filename) . "', user_avatar_type = " .
               USER_AVATAR_GALLERY;
    }

Avatar然后由如下代码调用:

    $avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="'

       . $board_config['avatar_gallery_path'] . '/' .
       $profiledata['user_avatar'] . '" alt="" border="0" />' : '';

当一个avatar值被删除时会调用unlink()函数,但由于这个函数也存在一个目录遍历问题,因此通过提交大量"/../",攻击者借此可以删除 系统任意文件,usercp_register.php脚本中存在如下受影响代码:

    if ( @file_exists(@phpbb_realpath('./' .
$board_config['avatar_path']
       . '/' . $userdata['user_avatar'])) )
    {
        @unlink(@phpbb_realpath('./' . $board_config['avatar_path'] .
'/'
        . $userdata['user_avatar']));
    }

攻击者可以修改来自gallery的"avatarselect"返回值指向要删除的文件,可导致以WEB进程权限删除任意文件。

<*来源:iDEFENSE Security Advisory (labs@idefense.com
        AnthraX101 (AnthraX101@gmail.com
  
  链接:www.idefense.com/application/poi/display?id=205
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 关闭gallery avatars功能。

厂商补丁:

phpBB Group
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载phpBB 2.0.12版本:

http://www.phpbb.com/downloads.php

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