漏洞描述
Struts2是一(yī)個基于MVC設計模式的Web應用框架,它本質上相當于一(yī)個servlet,在MVC設計模式中(zhōng),Struts2作爲控制器(Controller)來建立模型與視圖的數據交互。 Apache Struts2存在S2-057遠程代碼執行漏洞,當定義xml配置時,namespace沒有設置,并且上層操作沒有設置或者使用的是通配符namespace時,可能導緻遠程命令執行,當使用沒有設置value和action的url标簽的時候也會導緻相同的漏洞。
漏洞評級
高危
影響範圍
1、定義XML配置時namespace值未設置且上層動作配置(Action Configuration)中(zhōng)未設置或用通配符namespace可能會導緻遠程代碼執行。 2、url标簽未設置value和action值且上層動作未設置或用通配符namespace可能會導緻遠程代碼執行。 影響版本: Apache Struts2 >=2.3,<=2.3.34 Apache Struts2 >=2.5,<=2.5.16。
修複建議
1、請盡快升級到Apache Struts版本2.3.35或2.5.17,因爲它們還包含關鍵的主動性整體(tǐ)安全方面的改進。 2、驗證您是否以namespace爲基礎,将xml配置文件中(zhōng)的所有已定義結果設置。同時要驗證在你的JSP文件中(zhōng)已經給所有url标簽設置value或者action。 3、已部署使用帕拉迪下(xià)一(yī)代WEB應用防護系統NGWAF的客戶,利用專有的動态建模技術,無須升級安全策略即完美攔截利用該漏洞的攻擊。