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