PHP 5.2/5.3 Hash漏洞补丁发布

网络整理 - 07-26
   

  前日有信息显示当前包括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上的该漏洞:

  

  查询清单

  目前已知的受影响的语言以及版本有::

  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)