漏洞描述
Tomcat是Apache軟件基金會(huì)Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,作為目前比較流行的Web應(yīng)用服務(wù)器,深受Java愛好者的喜愛,并得到了部分軟件開發(fā)商的認(rèn)可。Tomcat服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器,被普遍使用在輕量級Web應(yīng)用服務(wù)的構(gòu)架中。
漏洞編號
CVE-2020-1938
漏洞危害
Tomcat AJP協(xié)議由于存在實(shí)現(xiàn)缺陷導(dǎo)致相關(guān)參數(shù)可控,攻擊者利用該漏洞可通過構(gòu)造特定參數(shù),讀取服務(wù)器webapp下的任意文件。若服務(wù)器端同時(shí)存在文件上傳功能,攻擊者可進(jìn)一步實(shí)現(xiàn)遠(yuǎn)程代碼的執(zhí)行。
漏洞等級
高危
受影響版本
Tomcat 6
Tomcat 7
Tomcat 8
Tomcat 9
修復(fù)方案
目前,Apache官方已發(fā)布9.0.31、8.5.51及7.0.100版本對此漏洞進(jìn)行修復(fù),禹宏信安建議用戶盡快升級新版本或采取臨時(shí)緩解措施:
1.如未使用Tomcat AJP協(xié)議:
如未使用 Tomcat AJP 協(xié)議,可以直接將 Tomcat 升級到 9.0.31、8.5.51或 7.0.100 版本進(jìn)行漏洞修復(fù)。
如無法立即進(jìn)行版本更新、或者是更老版本的用戶,建議直接關(guān)閉AJPConnector,或?qū)⑵浔O(jiān)聽地址改為僅監(jiān)聽本機(jī)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)保存后需重新啟動(dòng),規(guī)則方可生效。
2.如果使用了Tomcat AJP協(xié)議:
建議將Tomcat立即升級到9.0.31、8.5.51或7.0.100版本進(jìn)行修復(fù),同時(shí)為AJP Connector配置secret來設(shè)置AJP協(xié)議的認(rèn)證憑證。例如(注意必須將YOUR_TOMCAT_AJP_SECRET更改為一個(gè)安全性高、無法被輕易猜解的值):
<Connector port=”8009″protocol=”AJP/1.3″ redirectPort=”8443″address=”YOUR_TOMCAT_IP_ADDRESS” secret=”YOUR_TOMCAT_AJP_SECRET”/>
如無法立即進(jìn)行版本更新、或者是更老版本的用戶,建議為AJPConnector配置requiredSecret來設(shè)置AJP協(xié)議認(rèn)證憑證。例如(注意必須將YOUR_TOMCAT_AJP_SECRET更改為一個(gè)安全性高、無法被輕易猜解的值):
<Connector port=”8009″protocol=”AJP/1.3″ redirectPort=”8443″address=”YOUR_TOMCAT_IP_ADDRESS”requiredSecret=”YOUR_TOMCAT_AJP_SECRET” />
參考鏈接
1.https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html
2.https://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html