聯系人:安先生
電 話:0577-88663352
手機:18105773668
郵箱:support@linkding.com.cn
地址:溫州市鹿城區南匯街道車站大道238號恒隆商務樓604室
網址:www.kunminge.com

一、漏洞情況分析
Struts2是第二代基于Model-View-Controller(MVC)模型的java企業級web應用框架,并成為當時國內外較為流行的容器軟件中間件。jakarta是apache組織下的一套Java解決方案的開源軟件的名稱,包括很多子項目。Struts就是jakarta的緊密關聯項目。
根據CNVD技術組成員單位——杭州安恒信息技術有限公司提供的分析情況,基于Jakarta Multipart parser的文件上傳模塊在處理文件上傳(multipart)的請求時候對異常信息做了捕獲,并對異常信息做了OGNL表達式處理。但在在判斷content-type不正確的時候會拋出異常并且帶上Content-Type屬性值,可通過精心構造附帶OGNL表達的URL導致遠程代碼執行。
CNVD對漏洞的綜合評級均為“高!。由于struts 2.3.5之前的版本存在S2-016漏洞,因此有較多升級后的Apache struts2的版本為2.3.5及以上版本,極有可能受到漏洞的影響。
二、漏洞影響范圍
受漏洞影響的版本為:Struts2.3.5-Struts2.3.31, Struts2.5-Struts2.5.10。截至7日13時,互聯網上已經公開了漏洞的攻擊利用代碼,同時已有安全研究者通過CNVD網站、補天平臺提交了多個受漏洞影響的省部級黨政機關、金融、能源、電信等行業單位以及知名企業門戶網站案例。根據CNVD秘書處抽樣測試結果,互聯網上采用Apache Struts 2框架的網站(不區分Struts版本,樣本集>500,覆蓋政府、高校、企業)受影響比例為60.1%。
三、漏洞處置建議
Apache Struts官方已在發布的新的版本中修復了該漏洞。建議使用Jakarta Multipart parser模塊的用戶升級到Apache Struts版本2.3.32或2.5.10.1。除了升級struts版本外,為有效防護漏洞攻擊,建議用戶采取主動檢測、網絡側防護的方法防范黑客攻擊:
(一)無害化檢測方法(該檢測方法由安恒公司提供):
在向服務器發出的http請求報文中,修改Content-Type字段:
Content-Type: %{#context['com.opensymphony.xwork2.dispatcher.HttpServletResponse'].addHeader('vul','vul')}.multipart/form-data,如返回response報文中存在vul:vul字段項則表明存在漏洞。
(二)網絡側防護技術措施
建議在網絡防護設備上配置過濾包含如下#nike='multipart/form-data'以及#container=#context['com.opensymphony.xwork2.ActionContext.container'字段串(及相關字符轉義形式)的URL請求。
CNCERT/CNVD已著手組織國內安全企業協同開展相關檢測和攻擊監測相關工作,后續將再次匯總處置工作情況。