Apache Tomcat爆出最新漏洞可导致任意文件读取/包含
2月20日,国家信息安全漏洞共享平台(CNVD)发布安全公告,该漏洞综合评级为高危,漏洞 CVE 编号 CVE-2020-1938。
Tomcat是当今最流行的Java中间件服务器之一,在世界范围内广泛使用。
漏洞描述
由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可通过Tomcat AJP Connector构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件。 例如读取webapp配置文件或源代码。
受影响版本
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
无风险版本
Apache Tomcat = 7.0.100
Apache Tomcat = 8.5.51
Apache Tomcat = 9.0.31
漏洞级别:高级
修复建议
1、受影响的用户升级至官方最新版Tomcat。
Apache Tomcat 7.0.100 http://tomcat.apache.org/download-70.cgi
Apache Tomcat 8.5.51 http://tomcat.apache.org/download-80.cgi
Apache Tomcat 9.0.31 http://tomcat.apache.org/download-90.cgi
2、如若不需要使用Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为本机localhost监听。
编辑<CATALINA_BASE>/conf/server.xml
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />
将此行代码删除或者注释均可,保存后重启Tomcat即可。
3、如若需要使用Tomcat AJP协议,可根据使用版本配置协议属性设置
不方便升级最新版本的用户可为AJP Connector配置secret来设置AJP协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>