Struts2遠程代碼執行高危漏洞響應及修復建議
近日,安全研究人員發現著名J2EE框架——Struts2存在遠程代碼執行的漏洞,Struts2官方已經確認該漏洞(S2-045),并定級為高危漏洞。
漏洞描述
該漏洞是Apache strut2 最新的一個漏洞,CVE編號CVE-2017-5638.(基于 Jakarta plugin插件的Struts遠程代碼執行漏洞),該漏洞會造成RCE遠程代碼執行,惡意用戶可在上傳文件時通過修改HTTP請求頭中的Content-Type值來觸發該漏洞,進而執行系統命令,可直接造成系統被控制。黑客通過Jakarta 文件上傳插件實現遠程利用該漏洞執行代碼。
其風險等級為:高危
因為Apache Struts2是一種國內使用非常廣泛的Web應用開發框架,被大量的Web網站所使用。目前,對于此漏洞的利用代碼已經擴散,對網站安全構成非常高的現實威脅。
影響系統及版本:Struts 2.3.5 - Struts 2.3.31、Struts 2.5 - Struts 2.5.10
臨時處理方案
* 修改啟動虛擬機相關選項,修改Struts 2上傳文件時的上傳解析器為非Jakarta
Struts 2默認用Jakarta的Common-FileUpload的文件上傳解析器,這是存在漏洞的,默認為以下配置
- struts.multipart.parser=jakarta
指定其他類型的解析器,以使系統避免漏洞的影響:
指定使用COS的文件上傳解析器
- struts.multipart.parser=cos
或指定使用Pell的文件上傳解析器
- struts.multipart.parser=pell
修復建議
1、如果用戶使用基于Jakarta的多分片文件上傳解析器,強烈建議用戶立即升級到Apache Struts 2.3.32 或 2.5.10.1 版本。
2、天眼(SkyEye)未知威脅感知系統的流量探針已加入對利用此漏洞的攻擊檢測規則,可以精準地發現相關的攻擊并判定是否攻擊成功,請升級天眼未知威脅感知系統到3.0.3.1或以上版本并升級最新的檢測規則。
天眼(SkyEye)未知威脅感知系統檢測到攻擊截圖
3、如客戶在無法確認是否使用該框架或相關版本,可通過360網站云監測服務、或360網站智能監控系統檢查確認是否爆出該漏洞,從而進行下一步的防御措施。
4、在漏洞爆出的第一時間,360防火墻、WAF及安域產品均已更新產品識別規則庫,將針對該漏洞攻擊進行識別和防護。還未部署該產品的客戶,可及時聯系360企業安全遍布全國的辦事機構及時獲取產品進行防護: http://b.360.cn/home/aboutus?type=contact。
5、客戶也可通過 “云”+“端”的防護方案對該類型漏洞進行防護,從另一個維度解決問題。將方案通過在將安全保護代碼嵌入到運行中的服務器應用程序,通過實時攔截所有的系統調用并確保調用安全,通過與云端防護系統的聯動,最終實現應用程序自我保護,同時可為客戶提供針對Web系統web攻擊防護、網頁防篡改等安全防護能力。通過該方案的實施部署,針對該類型的漏洞可做到無需升級、智能防護,從另一個維度根本解決這類漏洞問題。
應急響應
如部分客戶無法確認是否使用受影響的Struts框架,無法自行修復該漏洞,可撥打360企業安全集團客戶熱線,我們將盡力協助客戶完成該漏洞修復:4008-136-360。
參考鏈接
https://cwiki.apache.org/confluence/display/WW/S2-045?from=timeline&isappinstalled=0