Apache Tomcat服务器文件包含漏洞风险通告

发布时间 2020-02-20

漏洞编号和级别


CVE编号:CVE-2020-1938,危险级别:高危,CVSS分值:官方未评定


影响版本


Apache Tomcat 6

Apache Tomcat 7 < 7.0.100

Apache Tomcat 8 < 8.5.51

Apache Tomcat 9 < 9.0.31


漏洞概述


Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。


Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。


据分析,Apache Tomcat AJP协议不安全权限控制可通过AJP Connector直接操作内部数据从而触发文件包含漏洞,恶意攻击者可以通过该协议端口(默认8009)提交攻击代码,成功利用漏洞能获取目标系统敏感文件,或在控制可上传文件的情况下实行恶意代码获取管理权限。


漏洞验证


已在互联网监测到相应POC。


修复建议


目前厂商已经提供相关漏洞补丁链接,Apache Tomcat 7.*分支建议更新到7.0.100版本;Apache Tomcat 8.*分支建议更新到8.5.51版本;Apache Tomcat 9.*分支建议更新到9.0.31版本。Apache Tomcat 6 已经停止维护,请升级到最新受支撑的 Tomcat 版本以免遭受漏洞影响。


下载地址:


https://tomcat.apache.org/download-70.cgi

https://tomcat.apache.org/download-80.cgi

https://tomcat.apache.org/download-90.cgi


或Github下载:


https://github.com/apache/tomcat/releases。


如果相关用户暂时无法进行版本升级,可根据自身情况采用下列防护措施。


1. 如未使用Tomcat AJP协议:


如未使用 Tomcat AJP 协议,可以直接将 Tomcat 升级到 9.0.31、8.5.51或 7.0.100 版本进行漏洞修复。

如无法马上进行版本更新、或者是更老版本的用户,建议直接关闭AJPConnector,或将其监听地址改为仅监听本机localhost。


具体操作:


(1)编辑 <CATALINA_BASE>/conf/server.xml,找到如下行(<CATALINA_BASE> 为 Tomcat 的工作目录):

<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协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):


<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>


如无法马上进行版本更新、或者是更老版本的用户,建议为AJPConnector配置requiredSecret来设置AJP协议认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):


<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"requiredSecret="YOUR_TOMCAT_AJP_SECRET" />


参考链接


https://mp.weixin.qq.com/s/hvRD-0MqXHW8yJupbQt1ng