Apache Struts是美國阿帕奇(Apache)軟件基金會負責維護的一個開源項目,是一套用于創建企業級Java Web應用的開源MVC框架。
Struts2是一個基于MVC設計模式的Web應用框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合并的全新的Struts 2框架。(來自百度百科)
最近,Struts 2被曝存遠程代碼執行漏洞。
漏洞名:Struts 2中基于Jakarta Multipart parser的文件上傳存在遠程命令執行漏洞(S2-045,CVE-2017-5638)
影響范圍:
Struts 2.3.5--Struts 2.3.31
Struts 2.5--Struts 2.5.10
漏洞描述:當上傳的文件的Content-Type無效時,struts返回錯誤信息時調用了表達式使得命令被執行
修復方案:如果使用的是基于Jakarta Multipart parser的文件上傳,升級到Struts 2.3.32 或者Struts 2.5.10.1,也可以通過使用其他上傳解析器來修復該漏洞
報告地址:https://cwiki.apache.org/confluence/display/WW/S2-045?from=timeline&isappinstalled=0