PHP ZendEngine变量释放远程拒绝服务漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1191534 漏洞类型 设计错误
发布时间 2007-03-01 更新时间 2007-09-06
CVE编号 CVE-2007-4670 CNNVD-ID CNNVD-200709-019
漏洞平台 N/A CVSS评分 5.0
|漏洞来源
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200709-019
|漏洞详情
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。PHP没有对嵌套数组的深度强制任何过滤检查。由于变量注册是以迭代的方式执行的,因此PHP会接受任何深度,直到达到memory_limit。PHP数组的释放是以递归的方式执行的,因此在耗尽了栈极限的时候就会崩溃。攻击者可以利用上述问题以可控的方式导致PHP崩溃。假设以下PHP代码:if(!checkUserPWD($user,$pass)){$errmsg="Thereisproblem...";displayError($errmsg);notifyAdminOfCrackAttempt();}else{//doallthefun}在暴力猜测其他用户的口令时攻击者可能不希望通过发送大量通知邮件通知管理员,但假设目标已经激活了registerglobals,攻击者提供名为errmsg的深层嵌套数组遍历。然后用户名和口令检查失败,覆盖变量,导致释放用户提供的数组,这样PHP就会崩溃,攻击者可以在暴力猜测口令时不发送通知邮件。在日志文件中会有崩溃记录,但管理员无法看到起因。
|参考资料

来源:www.php.net
链接:http://www.php.net/releases/5_2_4.php
来源:www.php.net
链接:http://www.php.net/ChangeLog-5.php#5.2.4
来源:FEDORA
名称:FEDORA-2007-709
链接:https://www.redhat.com/archives/fedora-package-announce/2007-September/msg00354.html
来源:launchpad.net
链接:https://launchpad.net/bugs/173043
来源:issues.rpath.com
链接:https://issues.rpath.com/browse/RPL-1702
来源:issues.rpath.com
链接:https://issues.rpath.com/browse/RPL-1693
来源:UBUNTU
名称:USN-549-1
链接:http://www.ubuntulinux.org/support/documentation/usn/usn-549-1
来源:UBUNTU
名称:USN-549-2
链接:http://www.ubuntu.com/usn/usn-549-2
来源:TRUSTIX
名称:2007-0026
链接:http://www.trustix.org/errata/2007/0026/
来源:REDHAT
名称:RHSA-2007:0891
链接:http://www.redhat.com/support/errata/RHSA-2007-0891.html
来源:REDHAT
名称:RHSA-2007:0890
链接:http://www.redhat.com/support/errata/RHSA-2007-0890.html
来源:REDHAT
名称:RHSA-2007:0888
链接:http://www.redhat.com/support/errata/RHSA-2007-0888.html
来源:MANDRIVA
名称:MDKSA-2007:187
链接:http://www.mandriva.com/security/advisories?name=MDKSA-2007:187
来源:GE