關于Apache Struts2(S2-046)漏洞情況的通報
近日,互聯網上披露了有關Apache Struts2 (S2-046)遠程代碼執行漏洞(CNNVD-201703-152)的情況。該漏洞與Apache Struts2 (S2-045)遠程代碼執行漏洞原理相同,僅使用了不同的攻擊向量。目前,Apache官方已針對該漏洞發布安全公告,已通過升級方式修復Apache Struts2 (S2-045)遠程代碼執行漏洞的用戶不在該漏洞影響范圍內。國家信息安全漏洞庫(CNNVD)對此進行了跟蹤分析,情況如下:
一、漏洞簡介
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)。該漏洞與Apache Struts2 (S2-045)遠程代碼執行漏洞原理基本相同,均是由于上傳功能的異常處理函數沒有正確處理用戶輸入的錯誤信息,導致遠程攻擊者可通過發送惡意的數據包,利用該漏洞在受影響服務器上執行任意命令。
二、漏洞危害
攻擊者可通過發送惡意構造的HTTP數據包利用該漏洞,在受影響服務器上執行系統命令,進一步可完全控制該服務器,造成拒絕服務、數據泄露、網站造篡改等影響。由于該漏洞利用無需任何前置條件(如開啟dmi,debug等功能)以及啟用任何插件,因此漏洞危害較為嚴重。
三、修復措施
目前,Apache官方已針對該漏洞發布安全公告,并且漏洞利用代碼已被公布在互聯網上,請受影響用戶及時檢查是否受該漏洞影響。另外,已通過升級方式修復了Apache Struts2 (S2-045)遠程代碼執行漏洞的用戶,不在該漏洞影響的范圍內。
【自查方式】
用戶可查看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-046
【臨時緩解】
如用戶不方便升級,可采用官方發布的以供應急使用的Jakarta插件版本,下載鏈接如下:
https://github.com/apache/struts-extras
或改用其他Multipart parser應用,如Pell等,相關鏈接如下:
https://cwiki.apache.org/confluence/display/S2PLUGINS/Pell+Multipart+Plugin
CNNVD將繼續跟蹤上述漏洞的相關情況,及時發布相關信息。如有需要,可與CNNVD聯系。
聯系方式: cnnvd@itsec.gov.cn