Apache Tomcat 文件包含漏洞(CVE-2020-1938)
一. 漏洞概述
2月20日,國家信息安全漏洞共享平台(CNVD)發布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。該漏洞是由於Tomcat AJP協議存在缺陷而導致,攻擊者利用該漏洞可通過構造特定參數,讀取服務器webapp下的任意文件。若目標服務器同時存在文件上傳功能,攻擊者可進一步實現遠程代碼執行。目前,廠商已發布新版本完成漏洞修復。
Tomcat是Apache軟件基金會中的一個重要項目,性能穩定且免費,是目前較為流行的Web應用服務器。由於Tomcat應用范圍較廣,因此本次通告的漏洞影響范圍較大,請相關用戶及時采取防護措施修復此漏洞。
參考鏈接:
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
三、漏洞防護
3.1官方升級
目前官方已在最新版本中修復了該漏洞,請受影響的用戶盡快升級版本進行防護,官方下載鏈接:
版本號 | 下載地址 |
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其他防護措施
一:若不需要使用Tomcat AJP協議,可直接關閉AJP Connector,或將其監聽地址改為僅監聽本機localhost。
具體操作:
(1)編輯 <CATALINA_BASE>/conf/server.xml,找到如下行(<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" />