安全研究

安全漏洞
PHP socket_iovec_alloc()整数缓冲区溢出漏洞

发布日期:2003-03-25
更新日期:2003-03-27

受影响系统:
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.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是广泛使用的脚本语言,可以方便的进行WEB开发,能嵌入到HTML中使用。

PHP中的socket_iovec_alloc()函数存在整数溢出,远程攻击者可以利用这个漏洞使调用了这个函数的应用WEB程序崩溃,可能以WEB进程权限在系统上执行任意指令。

PHP套接口扩展实现基于流行的BSD套接口的SOCKET通信,这个扩展需要在编译PHP时带有 --enable-sockets选项,其中在套接口实现的socket_iovec_alloc()函数中存在一个整数缓冲区溢出,当请求下面的PHP脚本时,httpd子进程会崩溃,并显示 child pid <pidnum> exit signal Segmentation fault (11)错误消息:

$ cat t.php
<?php
    socket_iovec_alloc(0x20000000);
?>

<*来源:Sir Mordred (sir.mordred@hushmail.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104860818613543&w=2
*>

测试方法:

警 告

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

Sir Mordred (sir.mordred@hushmail.com)提供了如下测试方法:

$ cat t.php
<?php
    socket_iovec_alloc(0x20000000);
?>

请求以上的脚本文件,可导致httpd子进程崩溃。

建议:
厂商补丁:

PHP
---
厂商表示将在PHP 4.3.2修复这个漏洞,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.php.net

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