CVE-2024-53677(S2-067),是影響 Apache Struts 的一個重大漏洞,主要涉及文件上傳邏輯的缺陷。

CVSS 分數與風險等級

該漏洞的 CVSS 4.0(通用漏洞評分系統)分數為 9.5(滿分 10 分),風險等級被評定為Critical。 

漏洞成因

該漏洞源於 Apache Struts 的文件上傳邏輯存在缺陷。當應用程式使用 FileUploadInterceptor 進行文件上傳時,攻擊者可以操縱上傳參數,利用路徑遍歷(Path Traversal)技術,將惡意檔案上傳至主機的任意位置。這可能導致遠程式碼執行等嚴重後果。 

影響範圍

受影響的 Apache Struts 版本包括:

  • 2.0.0 至 2.3.37(已停止維護)
  • 2.5.0 至 2.5.33
  • 6.0.0 至 6.3.0.2

需要注意的是,即使僅使用 FileUploadInterceptor 的應用程式,仍會受到該漏洞的影響。 

可能影響

成功利用該漏洞的攻擊者可以:

  • 路徑遍歷:將文件上傳至主機的任意目錄。
  • 遠端任意程式執行:上傳並執行惡意程式(例如:Web shell),完全控制受影響的系統。
  • 資訊洩露或篡改:訪問或修改敏感數據,破壞系統完整性和機密性。

解決方案

為防止該漏洞的利用,建議採取以下措施:

  1. 升級 Apache Struts:將框架升級至 6.4.0 或更高版本,該版本修復了此漏洞。 
  2. 遷移文件上傳機制:在升級後,建議從 FileUploadInterceptor 遷移至新的檔案上傳機制,即使用 ActionFileUploadInterceptor 來處理文件上傳。 
  3. 檢查應用程式配置:如果您的應用程式未使用 FileUploadInterceptor,則不受該漏洞影響,但仍建議檢查配置,確保安全。
  4. 實施嚴格的輸入驗證:確保所有上傳的檔案都符合預期的格式和大小限制,並對檔名進行適當的過濾,防止路徑遍歷(Path Traversal)等攻擊。
  5. 限制文件存儲路徑的權限:將上傳的檔案存儲在隔離的目錄中,並限制對這些檔案的執行權限,以減少潛在的風險。

總而言之,CVE-2024-53677 是一個高風險漏洞,最嚴重可導致遠端任意程式執行。強烈建議受影響的用戶盡快升級至最新版本的 Apache Struts,並採取適當的安全措施來防範潛在的攻擊。

若無法立即升級但有使用WAF,可先由以下方式緩解

直接阻擋由網際網路上傳的.jsp檔,這樣可防止駭客上傳.jsp的webshell檔案(針對http-post .jsp檔案進行阻擋)。

另外建議進行下面的檢查:

[1]檢查上傳文件是否帶有特殊符號,例如: % { # [ ] ‘ } / ..  > <“

[2]阻擋以下關鍵字: top.uploadFileName、destinationPath

[3]檢查異常的 multipart/form-data

光盾資訊

分享資安相關文章、新聞的地方

與我們聯絡