Apache Tomcat团队近日发布了一个
安全公告
,提示用户注意一个Java哈希表(HashTable)中的拒绝服务漏洞。
这一漏洞名为Denial of Service through hash table multi-collisions(通过对哈希表使用多碰撞技术实现拒绝服务),已由安全研究公司N.runs发布。目前, 包括Java在内的众多语言,如PHP5、Asp.Net以及v8 JavaScript引擎等都存在该漏洞;PHP4、Python及Ruby则因版本不同或可能受影响,取决于服务器代码运行于32位或64位机器。Perl及CRuby 1.9不受其影响。
Apache Tomcat表示,由于Tomcat中使用了哈希表来存储HTTP请求参数,因此将受该漏洞影响。鉴于Oracle表态不会在JRE中对该漏洞进行修复(但将提供一个新的GlassFish服务器版本),因此Apache提供了一个变通方案。
Apache的方案是在Tomcat中增加一个新的选项maxParameterCount,用来限制单个请求中的最大参数量。参数默认值设为10000,确保既不会对应用程序造成影响(对多数应用来说已经足够),也足以减轻DoS攻击的压力。
目前,这一解决方法在Tomcat 7.0.23 和 6.0.35 版本中业已实现;即将发布的5.5.35中也会应用这一方案。另外,Tomcat表示,若使用早期版本的Tomcat,可以通过限制maxPostSize大小为10KB左右来解决此问题。
关于此漏洞的详细信息: http://www.nruns.com/_downloads/advisory28122011.pdf 。
这一漏洞名为Denial of Service through hash table multi-collisions(通过对哈希表使用多碰撞技术实现拒绝服务),已由安全研究公司N.runs发布。目前, 包括Java在内的众多语言,如PHP5、Asp.Net以及v8 JavaScript引擎等都存在该漏洞;PHP4、Python及Ruby则因版本不同或可能受影响,取决于服务器代码运行于32位或64位机器。Perl及CRuby 1.9不受其影响。
Apache Tomcat表示,由于Tomcat中使用了哈希表来存储HTTP请求参数,因此将受该漏洞影响。鉴于Oracle表态不会在JRE中对该漏洞进行修复(但将提供一个新的GlassFish服务器版本),因此Apache提供了一个变通方案。
Apache的方案是在Tomcat中增加一个新的选项maxParameterCount,用来限制单个请求中的最大参数量。参数默认值设为10000,确保既不会对应用程序造成影响(对多数应用来说已经足够),也足以减轻DoS攻击的压力。
目前,这一解决方法在Tomcat 7.0.23 和 6.0.35 版本中业已实现;即将发布的5.5.35中也会应用这一方案。另外,Tomcat表示,若使用早期版本的Tomcat,可以通过限制maxPostSize大小为10KB左右来解决此问题。
关于此漏洞的详细信息: http://www.nruns.com/_downloads/advisory28122011.pdf 。