首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第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
描述:
--------------------------------------------------------------------------------
CVE(CAN) ID: CAN-2004-1019

PHP是一种流行的WEB服务器端编程语言。

PHP unserialize()没有正确过滤'unserializer'变量内容,远程攻击者可以利用这个漏洞以WEB进程权限执行任意指令。

使变量'unserializer'引用一个负值, 可把错误的zvalues增加到HASH表中,当这些表销毁时可导致efree()破坏内存地址,精心构建提交数据可能以进程权限执行任意指令。

另外unserialize()错误的允许unserializer变量引用可变HASH中已释放的条目,攻击者可以建立一个通用字符串使其传递给unserialize(),通过此漏洞可导致任意指令在任意内存地址执行。

这些字符串的传递实现目前在很多PHP应用程序中实现,如传递COOKIE内容到unserialize()中,受此漏洞影响的应用程序有:

      - phpBB2
      - Invision Board
      - vBulletin
      - Woltlab Burning Board 2.x
      - Serendipity Weblog
      - phpAds(New)
      - ...


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

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

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

http://www.php.net

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