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浏览次数:3133
严重程度:0(网友投票)