PHP工作在新的补丁的关键漏洞后,最初的一个失败

即将进行的PHP更新将解决两个已知的远程代码执行漏洞

PHP集团计划在周二发布PHP处理器的新版本,以修补两个公开的关键远程代码执行漏洞,其中一个漏洞在5月3日的更新中被错误地解决了。

其中一个漏洞名为CVE-2012-1823,位于PHP - CGI组件中,该组件允许PHP在公共网关接口(CGI)配置中运行。1月中旬,一个名为De Eindbazen的计算机安全爱好者团队发现了这个问题,并私下向PHP集团报告。

该bug允许包含"-"字符的URL查询字符串被php-cgi二进制文件解释为命令行开关,例如-s, -d, -c。可以利用该漏洞从PHP脚本公开源代码,或在易受攻击的系统上远程执行任意代码。

5月3日,PHP Group先后发布了PHP 5.3.12和PHP 5.4.2紧急更新解决远程代码执行缺陷在它的技术细节意外被公开之后。

然而,不久之后,Suhosin PHP安全扩展的创建者Stefan Esser和其他安全专家通过推特指出PHP 5.3.12和PHP 5.4.2中包含的CVE-2012-1823修复可以很容易地被绕过。

PHP集团承认原来的补丁无效并宣布计划在周二发布新的更新。PHP开发人员写道:“这些即将发布的版本将修复apache_request_header(仅5.4版)中的CGI缺陷和另一个CGI相关问题。”

该声明还包含了CVE-2012-1823的一个解决方案,该方案基于Apache的mod_rewrite模块,可以用来阻止包含"-"的查询。然而,解决方案的通用重写条件最终可能会阻塞合法查询,如“?”,因此每个Web服务器管理员都需要修改工作区以满足他们的特殊需求。

周二要修补的第二个问题涉及apache_request_header,它是一个堆缓冲区溢出漏洞,也可以用于远程代码执行,恶意软件分析师和开发人员Georg Wicherski发现了这个漏洞,周五在推特上说

在随后的推文中,Wicherski解释了该漏洞是如何被利用的,并发布了一个补丁链接,该补丁已在几周前发送给PHP开发人员进行审查。

Esser认为,第一次没有得到正确的补丁,并被迫为相同的漏洞发布新的补丁,会在用户中造成混乱。安全研究人员带着问题事实上,PHP组没有在php.net的首页上更快地发布警告,提醒用户PHP 5.3.12和PHP 5.4.2更新有问题。

如果一个网络服务器管理员安装了这些更新,然后第二天在一个新闻网站上看到了关于漏洞的警告,他可能会认为他已经解决了这个问题,他说周五在Twitter上。

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对自己最关心的话题发表评论。

版权所有©2012 IDG ComRaybet2munications, Inc.

SD-WAN买家指南:向供应商(和您自己)提出的关键问题