CVE-2025-24813
Apache Tomcat 中發現了一個嚴重安全漏洞,標識為,該漏洞可能導致服務器面臨遠程代碼執行 (RCE)、信息泄露和數據損壞的風險。
此缺陷影響以下版本:
- Apache Tomcat
11.0.0-M1
通過11.0.2
- Apache Tomcat
10.1.0-M1
通過10.1.34
- Apache Tomcat
9.0.0-M1
通過9.0.98
了解 CVE-2025-24813
該漏洞源于處理包含內部點的文件名時對路徑等效性的處理不當。具體來說,當 Tomcat 默認servlet
配置了寫入權限(默認禁用)并允許部分PUT
請求(默認啟用)時,攻擊者可以利用此漏洞執行未經授權的操作。原始代碼(現已在提交中修復)通過將路徑分隔符(例如)替換為內部點(例如)來0a668e0c
生成臨時文件名,從而導致安全檢查存在缺陷,并為利用漏洞創造了條件。/``.
利用此漏洞的攻擊者可以執行任意代碼、訪問敏感信息或破壞服務器數據。此類攻擊會顯著增加組織網絡基礎設施和數據完整性的風險。
開發條件和風險
如果不滿足以下條件,則您的環境不屬于易受攻擊的環境:
- Write-Enabled DefaultServlet:
readonly
中的參數conf/web.xml
必須設置為false
,以啟用PUT
請求(默認為)。true
- 部分 PUT 支持:默認啟用,允許攻擊者操縱文件上傳。
- 基于文件的會話持久性:Tomcat 必須在其默認位置使用基于文件的會話存儲(非默認)。
- 反序列化庫:應用程序必須包含一個容易受到反序列化攻擊的庫,例如舊版本的Apache Commons Collections。
當這些條件滿足時,攻擊者可以上傳惡意的序列化有效載荷,并通過反序列化觸發遠程代碼執行 (RCE)。即使沒有 RCE,該漏洞也可能導致信息泄露(例如,訪問敏感配置文件)或數據損壞(例如,將惡意內容注入上傳文件)。風險巨大:受感染的服務器可能成為更廣泛的網絡攻擊、數據盜竊或持久后門的入口點。
快速漏洞檢查腳本
您可以通過使用這個簡短的 bash 腳本檢查配置設置來快速驗證您的 Tomcat 服務器是否容易受到攻擊:
readonly_value=$(