關于Apache Strusts2存在遠程命令執行漏洞威脅的情況通報

(作者: 文章來源:http://www.cert.org.cn 發布日期:2017-07-08 瀏覽數:)

    7月7日,Apache Struts 發布最新的安全公告,Struts2 存在遠程命令執行漏洞(命名編號為S2-048)。國家信息安全漏洞共享平臺(CNVD)已將該漏洞收錄為高危漏洞(編號:CNVD-2017-13259),攻擊者可以利用該漏洞獲取服務器主機系統權限。目前,漏洞利用代碼已在互聯網上公開。從8日凌晨起,互聯網上已經出現了大量的攻擊嘗試且存在若干實現漏洞利用的案例報告。具體情況如下:

    一、S2-048漏洞情況分析

    Struts2是第二代基于Model-View-Controller (MVC)模型的Java企業級web應用框架,是較為流行的容器軟件中間件。2017年7月7日,Apache Struts 發布最新的安全公告S2-048,漏洞成因是Showcase 應用演示Struts2 整合Struts 1 的插件中存在一處任意代碼執行缺陷,當應用使用了Struts2 Struts1 的插件時,用戶可以構造特定輸入(一般為Header字段的OGNL表達式)發送到ActionMessage 類中可導致命令執行,進而獲得服務器主機系統權限。

    二、漏洞影響范圍

    S2-048漏洞主要影響使用Struts 1插件的Struts 2.3.x版本,并存在一定的漏洞利用前提限定。在漏洞公開后,國內安全廠商在用戶側也開展了積極的應急防護。CNCERT抽樣監測發現S2-48漏洞未產生嚴重安全問題。

    根據CNCERT抽樣測試結果(>1000個網站案例,以在S2-045漏洞中受到影響的案例為主),受S2-048漏洞影響的Apache Struts2網站比例約為0.6%,暫未發現黨政機關和重要信息系統用戶單位案例。

    三、漏洞修復建議

    官方已在Struts 2.5.10.1版本中修復了該漏洞,請參考官網及時升級:http://struts.apache.org/download.cgi#struts25101。同時,未能及時升級的系統可以參照官方給出的臨時解決方案,或啟用已生成有針對性防護策略的國內廠商網絡側防護產品(如:防火墻、云WAF等)。

    臨時解決方案:應使用資源鍵(resource keys),而不是將原始消息直接傳遞給ActionMessage類。正確和錯誤的方式如下所示:

    (正確的方式)messages.add("msg",new ActionMessage("struts1.gangsterAdded", gform.getName()));

    (錯誤的方式)messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));

原文地址:
http://www.cert.org.cn/publish/main/9/2017/20170708140459138437664/20170708140459138437664_.html

168彩票网