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到已经修复此问题的版本。
- 安装相应的补丁:
- 配置反向代理和Tomcat AJP连接器,使用requiredSecret属性。
- 使用org.apache.jk.server.JkCoyoteHandler AJP连接器(不适用于 Tomcat 7.0.x)
– 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
VIA apache.org