關於Apache Struts2存在S2-045遠端程式碼執行漏洞
一、漏洞簡介
Apache Struts是美國阿帕奇(Apache)軟體基金會負責維護的一個開源專案,是一套用於建立企業級Java Web應用的開源MVC框架,主要提供兩個版本框架產品:Struts 1和Struts 2。
Apache Struts 2.3.5 - 2.3.31版本及2.5 - 2.5.10版本存在遠端程式碼執行漏洞(CNNVD-201703-152,CVE-2017-5638)。該漏洞是由於上傳功能的異常處理函式沒有正確處理使用者輸入的錯誤資訊。導致遠端攻擊者可通過傳送惡意的資料包,利用該漏洞在受影響伺服器上執行任意命令。
二、漏洞危害
攻擊者可通過傳送惡意構造的HTTP資料包利用該漏洞,在受影響伺服器上執行系統命令,進一步可完全控制該伺服器,造成拒絕服務、資料洩露、網站造篡改等影響。由於該漏洞利用無需任何前置條件(如開啟dmi,debug等功能)以及啟用任何外掛,因此漏洞危害較為嚴重。
三、修復措施
目前,Apache官方已針對該漏洞釋出安全公告。請受影響使用者及時檢查是否受該漏洞影響。
【自查方式】
使用者可檢視web目錄下/WEB-INF/lib/目錄下的struts-core.x.x.jar檔案,如果這個版本在Struts2.3.5 到 Struts2.3.31 以及 Struts2.5 到 Struts2.5.10之間則存在漏洞。
【升級修復】
受影響使用者可升級版本至Apache Struts 2.3.32 或 Apache Struts 2.5.10.1以消除漏洞影響。目前下載包已可以在此獲得:
• 官方公告:
https://cwiki.apache.org/confluence/display/WW/S2-045?from=groupmessage&isappinstalled=0
【臨時緩解】
如使用者不方便升級,可採取如下臨時解決方案:
• 刪除commons-fileupload-x.x.x.jar檔案(會造成上傳功能不可用)