ApacheTomcat⽂件包含漏洞(CVE-2020-1938)Apache Tomcat ⽂件包含漏洞(CVE-2020-1938)
⼀.  漏洞概述
2⽉20⽇,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat⽂件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷⽽导致,攻击者利⽤该漏洞可通过构造特定参数,读取服务器webapp下的任意⽂件。若⽬标服务器同时存在⽂件上传功能,攻击者可进⼀步实现远程代码执⾏。⽬前,⼚商已发布新版本完成漏洞修复。
Tomcat是Apache软件基⾦会中的⼀个重要项⽬,性能稳定且免费,是⽬前较为流⾏的Web应⽤服务器。由于Tomcat应⽤范围较⼴,因此本次通告的漏洞影响范围较⼤,请相关⽤户及时采取防护措施修复此漏洞。
参考链接:
⼆、影响范围
受影响版本
Apache Tomcat 6
下载apache
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
三、漏洞防护
3.1官⽅升级
⽬前官⽅已在最新版本中修复了该漏洞,请受影响的⽤户尽快升级版本进⾏防护,官⽅下载链接:
版本号下载地址
Apache Tomcat 7.0.100
Apache Tomcat 8.5.51
Apache Tomcat 9.0.31
如果相关⽤户暂时⽆法进⾏版本升级,可根据⾃⾝情况采⽤下列防护措施。
3.2其他防护措施
⼀:若不需要使⽤Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机localhost。
具体操作:
(1)编辑 <CATALINA_BASE>/l,到如下⾏(<CATALINA_BASE> 为 Tomcat 的⼯作⽬录):
<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />
(2)将此⾏注释掉(也可删掉该⾏):
<!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->
(3)保存后需重新启动Tomcat,规则⽅可⽣效。
⼆:若需使⽤Tomcat AJP协议,可根据使⽤版本配置协议属性设置认证凭证。
使⽤Tomcat 7和Tomcat 9的⽤户可为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"/>
使⽤Tomcat 8的⽤户可为AJP Connector配置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" />