【51CTO快讯】前日有信息显示当前包括PHP、Java、Ruby在内的很多语言版本存在漏洞,PHP官方开发组成员Laruence(新浪微博)表示攻击者可以通过构造Hash冲突实现拒绝服务攻击,并提供了实例。这个攻击方法危害很高,攻击成本也很小,一个台式机可以轻松搞垮数十台、上百台服务器。
此漏洞一出,相当于随便一个攻击者就可以DDoS掉世界上的大部分网站!危害等级绝对是核弹级别。因此,PHP官方开发组紧急发布了补丁,请大家尽速修补。
PHP方面,<= 5.3.8, <= 5.4.0RC3的所有版本均会受此漏洞影响。PHP 5.3.9和PHP 5.4.0已经包含了针对此漏洞的补丁,但由于两个版本目前仍然在RC状态,无法用于生产服务器升级。至于PHP 5.2,官方开发组表示不会为了这个漏洞发布新版。
官方目前提供的解决方案是给自己的PHP环境打一个Patch,5.2和5.3都可以使用。Patch地址如下:
https://github.com/laruence/laruence.github.com/tree/master/php-5.2-max-input-vars
使用方法:
1. cd 到 php src,运行: patch -p1 < php-5.2.*-max-input-vars.patch 2. 最新的 PHP 5.3.9-RC4 已经修复了本漏洞,5.3 的用户可以直接升级到 5.3.9-RC4 。 当然,如果您不想更新到一个RC版本,那么也可以很简单的修改上面这个补丁,应用到 5.3 的相应版本上。
Laruence还建议其他语言java, ruby等,请各位也预先想好对策,限制post_size是治标不治本的方法,不过可以用来做临时解决方案。
临时解决方案参考:五四陈科学院
此外,微软也已经紧急发布了更新,修复了ASP.net上的该漏洞:
http://netsecurity.51cto.com/art/201112/310628.htm
查询清单
目前已知的受影响的语言以及版本有::
- Java, 所有版本
- JRuby <= 1.6.5
- PHP <= 5.3.8, <= 5.4.0RC3
- Python, 所有版本
- Rubinius, 所有版本
- Ruby <= 1.8.7-p356
- Apache Geronimo, 所有版本
- Apache Tomcat <= 5.5.34, <= 6.0.34, <= 7.0.22
- Oracle Glassfish <= 3.1.1
- Jetty, 所有版本
- Plone, 所有版本
- Rack, 所有版本
- V8 JavaScript Engine, 所有版本
不受此影响的语言或者修复版本的语言有::
- PHP >= 5.3.9, >= 5.4.0RC4
- JRuby >= 1.6.5.1
- Ruby >= 1.8.7-p357, 1.9.x
- Apache Tomcat >= 5.5.35, >= 6.0.35, >= 7.0.23
- Oracle Glassfish, N/A (Oracle reports that the issue is fixed in the main codeline and scheduled for a future CPU)
- CVE: CVE-2011-4885 (PHP), CVE-2011-4461 (Jetty), CVE-2011-4838 (JRuby), CVE-2011-4462 (Plone), CVE-2011-4815 (Ruby)
(以上内容来自 http://www.ocert.org/advisories/ocert-2011-003.html )
参考:
感谢崔晓辉提供本线索。