全部產品
Search
文件中心

Serverless App Engine:【SAE安全性漏洞通告及解決方案】Apache Tomcat AJP漏洞

更新時間:Jun 30, 2024

背景

Apache Tomcat是由Apache軟體基金會下Jakarta專案開發的Servlet容器。在預設情況下,Apache Tomcat會開啟AJP連接器,便於與其他Web伺服器通過AJP協議進行資料轉送。

由於Apache Tomcat AJP協議的缺陷,攻擊者可以通過Tomcat AJP Connector讀取含Apache Tomcat在內其下所有webapp目錄下的任何檔案,因此攻擊者可以讀取webapp設定檔或原始碼。如果目標應用支援檔案上傳功能,攻擊者可以向服務端上傳含有惡意JSP指令碼代碼的檔案,然後利用漏洞進行檔案包含,從而達到遠程代碼執行擷取伺服器許可權等攻擊目的。在未對外網開啟AJP服務的情況下,不受漏洞影響(Tomcat預設開啟AJP服務並將其綁定至0.0.0.0),由於SAE應用執行個體部署在VPC網路內部,所以如應用執行個體的8009連接埠對外不可訪問,則可以認為受AJP漏洞攻擊的風險較低。

影響範圍

  • SAE中使用WAR包方式進行應用部署的客戶。
  • SAE中使用鏡像方式部署的且Tomcat Server.xml設定檔中開啟了Tomcat AJP Connector的客戶。

解決方案

  • SAE中使用WAR包方式部署的客戶,請通過Console或API方式重新部署應用即可。
  • SAE中使用鏡像方式部署的客戶,請使用注釋掉Tomcat AJP Connector的Tomcat版本重新製作鏡像並重新部署。

驗證方法

通過WebShell登入容器,找到相應的tomcat conf目錄,查看server.xml檔案內是否存在<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 配置。

  • 如果不存在,表示該漏洞修補成功。
  • 如果存在,修補該漏洞。具體操作,請參見解決方案