近日,国家信息安全漏洞库(CNNVD)收到关于Apache Tomcat文件包含漏洞(CNNVD-202002-1052、CVE-2020-1938)情况的报送。成功利用漏洞的攻击者可以读取 Tomcat所有webapp目录下的任意文件。该漏洞影响包括Apache Tomcat9.x、Apache Tomcat8.x、Apache Tomcat7.x 、Apache Tomcat 6.x等多个版本的Tomcat。目前,Apache官方已发布公告对修复该漏洞做出说明,建议用户及时确认是否受到漏洞影响,尽快采取修补措施。

一、漏洞介绍

Tomcat是Apache 软件基金会(Apache SoftwareFoundation)的Jakarta 项目中的一个核心项目,是JAVA中间件服务器之一。Tomcat 中存在一个文件包含漏洞,攻击者利用漏洞可以读取 Tomcat所有 webapp目录下的任意文件。如果网站应用提供文件上传的功能,攻击者可以先向服务端上传一个含有恶意 JSP 脚本代码的文件,然后利用漏洞进行文件包含,从而实现代码执行。

在受漏洞影响Tomcat 版本中,若其开启了 AJP Connector ,且攻击者能够访问 AJP Connector 服务端口的情况下,就会存在被该漏洞利用的风险。Tomcat的AJP Connector 默认配置下即为开启状态,因此该漏洞被利用的风险极大。

二、危害影响

成功利用漏洞的攻击者可以读取 Tomcat所有 webapp目录下的任意文件。由于该漏洞影响全版本默认配置下的 Tomcat,因部分tomcat版本过于久远,因此该漏洞影响范围至少包含下列版本,但不排除其他版本的Tomcat。影响版本如下:

Apache Tomcat 9.x < 9.0.31

Apache Tomcat 8.x < 8.5.51

Apache Tomcat 7.x < 7.0.100

Apache Tomcat 6.x

三、修复建议

目前,Apache官方已发布公告对修复该漏洞做出说明,可升级至9.0.31、8.5.51及7.0.100版本对此漏洞进行修复,建议用户及时确认是否受到漏洞影响,尽快采取修补措施。官方链接如下:

http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.31_(markt)

要正确修复此漏洞,首先需要确定服务器环境中是否有用到 Tomcat AJP 协议:

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

2、对于确定未使用 Tomcat AJP 协议,但无法进行版本更新、或者是更老版本的用户,可以考虑直接关闭 AJP Connector,或将其监听地址改为仅监听在本机localhost。具体步骤:

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

<Connectorport="8009" protocol="AJP/1.3" redirectPort="8443"/>

(2)将此行注释掉(或直接删掉此行):

<!--<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />-->

(3)更改完毕后,重启 Tomcat 即可。

本通报由CNNVD技术支撑单位——北京长亭科技有限公司提供支持。

CNNVD将继续跟踪上述漏洞的相关情况,及时发布相关信息。如有需要,可与CNNVD联系。

联系方式: cnnvd@itsec.gov.cn

声明:本文来自CNNVD安全动态,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。