總機(jī):020-87516161 傳真:020-87516161-8040
地址:廣州市天河北路898號(hào)信源大廈3206-3211室 郵編:510660
安全服務(wù) > 安全公告 > 關(guān)于Apache Struts2披露存在遠(yuǎn)程代碼執(zhí)行漏洞(S2-037)的安全公告
安全公告編號(hào):CNTA-2016-0025
近日,國(guó)家信息安全漏洞共享平臺(tái)(CNVD)收錄了Apache Struts2 S2-037遠(yuǎn)程代碼執(zhí)行漏洞(CNVD-2016-04040,對(duì)應(yīng) CVE-2016-4438 )。遠(yuǎn)程攻擊者利用漏洞在安裝部署了REST插件的Struts 2服務(wù)器上遠(yuǎn)程執(zhí)行指令,取得服務(wù)器控制權(quán)限。由于利用代碼已經(jīng)公開,建議用戶緊急升級(jí)最新的Apache 2.3.29版本防范潛在的攻擊。
一、漏洞情況分析
Struts2是第二代基于Model-View-Controller(MVC)模型的java企業(yè)級(jí)web應(yīng)用框架,并成為當(dāng)時(shí)國(guó)內(nèi)外較為流行的容器軟件中間件。
根據(jù)CNVD技術(shù)組成員單位——杭州安恒公司提供的分析情況,服務(wù)器部署使用Rest插件之后,當(dāng)客戶端請(qǐng)求url符合如下格式“actionName/id/methodName”時(shí)會(huì)獲取methodName作為ActionMapping類的method屬性,但 method屬性未進(jìn)行嚴(yán)格過濾,導(dǎo)致漏洞產(chǎn)生。從已披露的利用代碼看,CNVD認(rèn)為攻擊者利用發(fā)起漏洞攻擊的原理與S2-032、S2-033漏洞基本一致,都是通過method屬性帶入到OGNL表達(dá)式中,靜態(tài)調(diào)用ognl.OgnlContext的DEFAULT_MEMBER_ACCESS屬性并覆蓋_memberAccess的方式進(jìn)行,進(jìn)而在服務(wù)器端執(zhí)行任意代碼。
該漏洞與6月初披露的S2-033漏洞相比,雖然也是安裝部署REST插件的條件下觸發(fā),但與是否啟用動(dòng)態(tài)方法調(diào)用無關(guān),CNVD評(píng)估認(rèn)為該漏洞影響要大于S2-033漏洞的影響范圍,也有可能比S2-032漏洞影響范圍更大(取決于REST插件應(yīng)用比例,CNVD暫無準(zhǔn)確評(píng)估值)。
CNVD對(duì)該漏洞的綜合評(píng)級(jí)為“高?!?。
二、漏洞影響范圍
漏洞影響部署使用REST插件的Struts2.3.20 - 2.3.28.1版本。
三、漏洞修復(fù)建議
目前,互聯(lián)網(wǎng)上已披露了該漏洞的利用代碼。Apache Struts官方已發(fā)布了升級(jí)程序修復(fù)該漏洞,CNVD建議用戶將程序升級(jí)至Struts 2.3.29版本。更新地址:
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.29
附:參考鏈接:
https://cwiki.apache.org/confluence/display/WW/S2-037
http://www.cnvd.org.cn/flaw/show/CNVD-2016-04040(s2-037漏洞)
http://www.cnvd.org.cn/flaw/show/CNVD-2016-03754)(S2-033漏洞
http://www.cnvd.org.cn/flaw/show/CNVD-2016-02506(S2-032漏洞)
http://seclab.dbappsecurity.com.cn/?p=1101(杭州安恒公司關(guān)于S2-033漏洞補(bǔ)丁修復(fù)無效的分析,目前Apache官方尚無直接回應(yīng))