欢迎光临范阳布衣的运维博客
分享工作和学习中的知识、技术

Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)

一. 漏洞概述

  • 2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。目前,厂商已发布新版本完成漏洞修复。

  • Tomcat是Apache软件基金会中的一个重要项目,性能稳定且免费,是目前较为流行的Web应用服务器。由于Tomcat应用范围较广,该漏洞影响全版本默认配置下的Tomcat 9/8/7/6,因此本次通告的漏洞影响范围较大。

Tomcat AJP默认监听端口为0.0.0.0:8009
参考链接:
https://www.cnvd.org.cn/webinfo/show/5415

二、影响范围

受影响版本
• 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

三、漏洞防护

要正确修复此漏洞,首先需要确定服务器环境中是否有用到Tomcat AJP协议:
如果未使用集群或反向代理,则基本上可以确定没有用到AJP
如使用了集群或反向代理,则需要看集群或反向代理服务器是否与tomcat服务器AJP进行通信

3.1 官方更新

如确定未使用Tomcat AJP协议,则可以直接讲Tomcat升级至9.0.31、8.5.517.0.100版本进行漏洞修复。
官方下载链接:

版本号 下载地址
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
3.2其他防护措施

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

1、若不需要使用Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机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)保存后需重新启动Tomcat,规则方可生效。

2、若需使用Tomcat AJP协议,可根据使用版本配置协议属性设置认证凭证。

使用Tomcat 7Tomcat 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" />
未经允许不得转载:范阳布衣 » Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)