總機:020-87516161 傳真:020-87516161-8040
地址:廣州市天河北路898號信源大廈3206-3211室 郵編:510660
安全服務 > 安全公告 > 關于Apache Struts2存在devMode遠程代碼執(zhí)行漏洞的安全公告
安全公告編號:CNTA-2016-0029
近日,國家信息安全漏洞共享平臺(CNVD)收錄了由啟明星辰公司提交的Apache struts2 devMode遠程代碼執(zhí)行漏洞(CNVD-2016-04656)。該漏洞產(chǎn)生的原因是由于開啟了devMode模式且Apache Struts 2官方以往修復措施未完善(溯及S2-008漏洞),遠程攻擊者利用該漏洞可執(zhí)行任意命令,進而控制服務器主機。
一、漏洞情況分析
Struts2是第二代基于Model-View-Controller(MVC)模型的java企業(yè)級web應用框架,并成為當時國內(nèi)外較為流行的容器軟件中間件。為了便于開發(fā)人員調(diào)試程序,Struts2提供了devMode模式,可以方便查看程序錯誤以及日志等信息。
根據(jù)CNVD技術組成員單位——啟明星辰公司提供的分析情況,在2.3.28及之前版本中,devMode開啟時,DebuggingInterceptor類會檢測提交的debug參數(shù)是否包含console、command、browser這三個MODE。通過分析代碼發(fā)現(xiàn),command、browser這兩個MODE調(diào)用了stack.findValue方法,可構造特定數(shù)據(jù)作為ognl表達式執(zhí)行,使得Apache Struts S2-008漏洞一直延續(xù)到2.3.28版本。Apache Struts官方對2.3.28以后的版本代碼做了修改,加強了對OGNL鏈式表達式的過濾,啟明星辰公司通過對其安全機制研究,發(fā)現(xiàn)新的繞過缺陷,并能執(zhí)行遠程指令完成HTTP回顯。
CNVD對漏洞的綜合評級均為“高危”。
二、漏洞影響范圍
受漏洞影響的版本Struts 2.1.0--2.5.1且開啟devMode模式的用戶。根據(jù)CNVD抽樣測試結果,受影響的Apache Struts2 服務器比例約為3%-4%,目前一些民間漏洞報告平臺已經(jīng)有相關漏洞的案例報告。根據(jù)CNVD評估,目前已有專業(yè)人士知曉基本原理,有可能被快速利用(制造出攻擊利用代碼)發(fā)起大規(guī)模檢測或攻擊。
三、漏洞修復建議
根據(jù)Apache Struts2官方反饋,對于該風險未給予新的安全公告編號,只建議用戶關閉devMode模式(在配置文件中將devMode設置為false)。用戶可參照如下進行修改:
將struts.properties中的devMode設置為false,或是在struts.xml中添加如下代碼:<constant name="struts.devMode" value="false" />
附:參考鏈接:
http://mp.weixin.qq.com/s?__biz=MzAwNTI1NDI3MQ==&mid=2649611817&idx=1&sn=22c8b5372f668fed73dd67fb23e015fc&scene=1&srcid=0712BdncJHWeREpXFcaGpQjm&from=singlemessage&isappinstalled=0#wechat_redirect(啟明星辰公司分析結果)
http://struts.apache.org/docs/s2-008.html