Apache Tomcat服务器存在文件包含漏洞
CNVD-ID | CNVD-2020-10487 |
公开日期 | 2020-02-20 |
危害级别 | 高 (AV:N/AC:L/Au:N/C:C/I:C/A:C) |
影响产品 |
Apache Tomcat 服务器 |
CVE ID | CVE-2020-1938 |
漏洞描述 |
Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。 Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。 |
漏洞类型 | 通用型漏洞 |
参考链接 | |
漏洞解决方案 |
Apache官方已发布9.0.31、8.5.51及7.0.100版本针对此漏洞进行修复,建议用户下载使用: https://tomcat.apache.org/download-70.cgi https://tomcat.apache.org/download-80.cgi https://tomcat.apache.org/download-90.cgi |
厂商补丁 | Apache Tomcat 服务器存在文件包含漏洞 |
验证信息 | 已验证 |
报送时间 | 2020-01-06 |
收录时间 | 2020-02-19 |
更新时间 | 2020-02-25 |
漏洞附件 | 附件暂不公开 |
在发布漏洞公告信息之前,CNVD都力争保证每条公告的准确性和可靠性。然而,采纳和实施公告中的建议则完全由用户自己决定,其可能引起的问题和结果也完全由用户承担。是否采纳我们的建议取决于您个人或您企业的决策,您应考虑其内容是否符合您个人或您企业的安全策略和流程。 |
安全公告编号:CNTA-2020-0004
2020年1月6日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的Apache Tomcat文件包含漏洞(CNVD-2020-10487,对应CVE-2020-1938)。攻击者利用该漏洞,可在未授权的情况下远程读取特定目录下的任意文件。目前,漏洞细节尚未公开,厂商已发布新版本完成漏洞修复。
一、漏洞情况分析
Tomcat是Apache软件基金会Jakarta 项目中的一个核心项目,作为目前比较流行的Web应用服务器,深受Java爱好者的喜爱,并得到了部分软件开发商的认可。Tomcat服务器是一个免费的开放源代码的Web应用服务器,被普遍使用在轻量级Web应用服务的构架中。
2020年1月6日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的Apache Tomcat文件包含漏洞。Tomcat AJP协议由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步实现远程代码的执行。
CNVD对该漏洞的综合评级为“高危”。
二、漏洞影响范围
漏洞影响的产品版本包括:
Tomcat 6
Tomcat 7
Tomcat 8
Tomcat 9
CNVD平台对Apache Tomcat AJP协议在我国境内的分布情况进行统计,结果显示我国境内的IP数量约为55.5万,通过技术检测发现我国境内共有43197台服务器受此漏洞影响,影响比例约为7.8%。
三、漏洞处置建议
目前,Apache官方已发布9.0.31、8.5.51及7.0.100版本对此漏洞进行修复,CNVD建议用户尽快升级新版本或采取临时缓解措施:
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://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html
https://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html
https://stackoverflow.com/questions/21757694/what-is-ajp-protocol-used-for
感谢CNVD技术组成员单位——北京长亭科技有限公司为本报告提供的技术支持。
感谢CNVD技术组成员单位——北京知道创宇信息技术股份有限公司为本报告提供的数据支持。
发表评论