Apache Tomcat服務器文件包含漏洞風險通告

發布時間 2020-02-20

漏洞編號和級別


CVE編號:CVE-2020-1938,危險級別:高危,CVSS分值:官方未評定


影響版本


Apache Tomcat 6

Apache Tomcat 7 < 7.0.100

Apache Tomcat 8 < 8.5.51

Apache Tomcat 9 < 9.0.31


漏洞概述


Apache與Tomcat都是Apache開源組織開發的用于處理HTTP服務的項目,兩者都是免費的,都可以做為獨立的Web服務器運行。


Apache Tomcat服務器存在文件包含漏洞,攻擊者可利用該漏洞讀取或包含 Tomcat 上所有 webapp 目錄下的任意文件,如:webapp 配置文件或源代碼等。


據分析,Apache Tomcat AJP協議不安全權限控制可通過AJP Connector直接操作內部數據從而觸發文件包含漏洞,惡意攻擊者可以通過該協議端口(默認8009)提交攻擊代碼,成功利用漏洞能獲取目標系統敏感文件,或在控制可上傳文件的情況下執行惡意代碼獲取管理權限。


漏洞驗證


已在互聯網監測到相應POC。


修復建議


目前廠商已經提供相關漏洞補丁鏈接,Apache Tomcat 7.*分支建議更新到7.0.100版本;Apache Tomcat 8.*分支建議更新到8.5.51版本;Apache Tomcat 9.*分支建議更新到9.0.31版本。Apache Tomcat 6 已經停止維護,請升級到最新受支持的 Tomcat 版本以免遭受漏洞影響。


下載地址:


https://tomcat.apache.org/download-70.cgi

https://tomcat.apache.org/download-80.cgi

https://tomcat.apache.org/download-90.cgi


或Github下載:


https://github.com/apache/tomcat/releases。


如果相關用戶暫時無法進行版本升級,可根據自身情況采用下列防護措施。


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://mp.weixin.qq.com/s/hvRD-0MqXHW8yJupbQt1ng