Apache Tomcat 再次爆出安全漏洞:

漏洞:CVE-2011-3190  Apache Tomcat 绕过验证和信息泄露
严重性:严重
公布方:Apache软件基金会
受影响的版本:

 

  • Tomcat 7.0.0 ~ 7.0.20的所有版本
  • Tomcat 6.0.0 ~ 6.0.33的所有版本
  • Tomcat 5.5.0 ~ 5.5.33的所有版本
  • 早期的已不再提供支持的版本也可能受影响

    Apache Tomcat支持AJP协议,用来通过反向代理到Tomcat的请求和相关的数据,AJP协议的作用是,当一个请求包含请求主体时,一个未经允许的、包含请求主体首部分(或可能所有的)的AJP消息被发送到Tomcat。在某些情况下,Tomcat会把这个消息当作一个新的请求来处理,而不会当作请求主体。这可能导致***者完全控制AJP消息,允许***者:

 

  • 插入已验证用户的名字
  • 插入任何客户端的IP地址(可能绕过任何客户端IP地址的过滤)
  • 导致用户之间的响应混乱

下面的AJP连接器实现不会受到影响

 

  • org.apache.jk.server.JkCoyoteHandler (5.5.x - default, 6.0.x - default)

下面的AJP连接器实现会受到影响

 

  • org.apache.coyote.ajp.AjpProtocol (6.0.x, 7.0.x - default)
  • org.apache.coyote.ajp.AjpNioProtocol (7.0.x)
  • org.apache.coyote.ajp.AjpAprProtocol (5.5.x, 6.0.x, 7.0.x)

此外,这个问题只适用于以下都为真的情况:

 

  • POST请求被接受
  • 请求主体没有被处理

举例:参见 https://issues.apache.org/bugzilla/show_bug.cgi?id=51698

解决措施:

 

  • 升级Apache Tomcat到已经修复此问题的版本。
  • 安装相应的补丁:      - 7.0.x
http://svn.apache.org/viewvc?rev=1162958&view=rev
     - 6.0.x http://svn.apache.org/viewvc?rev=1162959&view=rev
     - 5.5.x http://svn.apache.org/viewvc?rev=1162960&view=rev 配置反向代理和Tomcat AJP连接器,使用requiredSecret属性。 使用org.apache.jk.server.JkCoyoteHandler AJP连接器(不适用于 Tomcat 7.0.x)

VIA apache.org