關于Apache Tomcat存在文件包含漏洞的安全公告

國家信息安全漏洞共享平臺(CNVD)近日發(fā)布了一份關于 Apache Tomcat 存在文件包含漏洞的安全公告

安全公告編號:CNTA-2020-0004

2020 年 1 月 6 日,國家信息安全漏洞共享平臺(CNVD)收錄了由北京長亭科技有限公司發(fā)現(xiàn)并報送的 Apache Tomcat 文件包含漏洞(CNVD-2020-10487,對應 CVE-2020-1938)。攻擊者利用該漏洞,可在未授權(quán)的情況下遠程讀取特定目錄下的任意文件。目前,漏洞細節(jié)尚未公開,廠商已發(fā)布新版本完成漏洞修復。

一、漏洞分析

Tomcat 是 Apache 軟件基金會 Jakarta 項目中的一個核心項目,作為目前比較流行的 Web 應用服務器,深受 Java 愛好者的喜愛,并得到了部分軟件開發(fā)商的認可。Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,被普遍使用在輕量級 Web 應用服務的構(gòu)架中。

2020 年 1 月 6 日,國家信息安全漏洞共享平臺(CNVD)收錄了由北京長亭科技有限公司發(fā)現(xiàn)并報送的 Apache Tomcat 文件包含漏洞。Tomcat AJP 協(xié)議由于存在實現(xiàn)缺陷導致相關參數(shù)可控,攻擊者利用該漏洞可通過構(gòu)造特定參數(shù),讀取服務器 webapp 下的任意文件。若服務器端同時存在文件上傳功能,攻擊者可進一步實現(xiàn)遠程代碼的執(zhí)行。

CNVD 對該漏洞的綜合評級為“高?!?。

二、漏洞原理

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

由于 Tomcat 默認開啟的 AJP 服務(8009 端口)存在一處文件包含缺陷,攻擊者可構(gòu)造惡意的請求包進行文件包含操作,進而讀取受影響 Tomcat 服務器上的 Web 目錄文件。

三、漏洞影響范圍

漏洞影響的產(chǎn)品版本包括:

  • Apache Tomcat 6

  • Apache Tomcat 7 < 7.0.100

  • Apache Tomcat 8 < 8.5.51

  • Apache Tomcat 9 < 9.0.31

CNVD 平臺對 Apache Tomcat AJP 協(xié)議在我國境內(nèi)的分布情況進行統(tǒng)計,結(jié)果顯示我國境內(nèi)的 IP 數(shù)量約為 55.5 萬,通過技術檢測發(fā)現(xiàn)我國境內(nèi)共有 43197 臺服務器受此漏洞影響,影響比例約為 7.8%。

四、漏洞處置建議

目前,Apache 官方已發(fā)布 9.0.31、8.5.51 及 7.0.100 版本對此漏洞進行修復,CNVD 建議用戶盡快升級新版本或采取臨時緩解措施:

  1. 如未使用 Tomcat AJP 協(xié)議:

如未使用 Tomcat AJP 協(xié)議,可以直接將 Tomcat 升級到 9.0.31、8.5.51 或 7.0.100 版本進行漏洞修復。

如無法立即進行版本更新、或者是更老版本的用戶,建議直接關閉 AJPConnector,或?qū)⑵浔O(jiān)聽地址改為僅監(jiān)聽本機 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)保存后需重新啟動,規(guī)則方可生效。

  1. 如果使用了 Tomcat AJP 協(xié)議:

建議將 Tomcat 立即升級到 9.0.31、8.5.51 或 7.0.100 版本進行修復,同時為 AJP Connector 配置 secret 來設置 AJP 協(xié)議的認證憑證。例如(注意必須將 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 協(xié)議認證憑證。例如(注意必須將 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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容