2020年2月20日,国家信息安全漏洞共享平台发布了《关于Apache Tomcat存在文件包含漏洞的安全公告》,安全公告编号:CNTA-2020-0004。收录了一个Tomcat服务器的漏洞。
2020年1月6日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的Apache Tomcat文件包含漏洞(CNVD-2020-10487,对应CVE-2020-1938)。攻击者利用该漏洞,可在未授权的情况下远程读取特定目录下的任意文件。漏洞细节尚未公开,新版本服务器已经完成了漏洞修复。
一、漏洞情况分析:
Tomcat是Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器,被普遍使用在轻量级Web应用服务的构架中。

Tomcat AJP协议由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步实现远程代码的执行。
CNVD对该漏洞的综合评级为“高危”!
二、漏洞影响范围
漏洞影响的产品版本包括:
Tomcat 6
Tomcat 7 < 7.0.100
Tomcat 8 < 8.5.51
Tomcat 9 < 9.0.31
国家信息安全漏洞共享平台(CNVD)对Apache Tomcat AJP协议在我国境内的分布情况进行统计,结果显示我国境内的IP数量约为55.5万,通过技术检测发现我国境内共有43197台服务器受此漏洞影响,影响比例约为7.8%。
三、漏洞处理建议
目前,Apache官方已发布9.0.31、8.5.51及7.0.100版本对此漏洞进行修复,CNVD建议用户尽快升级新版本或采取临时缓解措施:
1.如未使用 Tomcat AJP 协议
可以直接将 Tomcat 升级到 9.0.31、8.5.51或 7.0.100 版本进行漏洞修复。
如无法立即进行版本更新、或者是更老版本的用户,建议直接关闭AJPConnector,或将其监听地址改为仅监听本机localhost。
具体操作:
(1)编辑(Tomcat 的安装目录)/conf/server.xml,找到如下行:
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />
(2)将此行注释掉(也可删掉该行):
<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />
(3)保存后需重新启动,规则方可生效。
2. 如果使用了Tomcat AJP协议:
建议将Tomcat立即升级到9.0.31、8.5.51或7.0.100版本进行修复,同时为AJP Connector配置secret来设置AJP协议的认证凭证。例如(注意必须将AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="IP_ADDRESS" secret="AJP_SECRET"/>
如无法立即进行版本更新、或者是更老版本的用户,建议为AJPConnector配置requiredSecret来设置AJP协议认证凭证。例如(注意必须将AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="IP_ADDRESS"requiredSecret="AJP_SECRET" />
如无法下载最新版Tomcat,请联系作者。
参考链接:https://www.cnvd.org.cn/webinfo/show/5415 (国家信息安全漏洞共享平台)