福建省海峡信息技术有限公司安全服务部
安全通告 [2016年第07号]
尊敬的海峡用户:
近日我公司安全服务中心关注到Apache Struts 2爆出远程执行代码高危漏洞(CVE-2016-4438, S2-037),远程攻击者利用此漏洞可在使用rest插件的Apache Struts 2服务器上执行任意代码,取得网站服务器控制权。Struts2早期也被爆出各种远程代码执行漏洞,这些漏洞曾经风靡一时,简单使用网上公开的工具即可渗透银行、高校以及各知名企业,给被入侵方造成巨大损失,请系统安全维护人员及时对Struts2版本进行升级更新,以免遭受不必要的损失。
【漏洞描述】Apache Struts 2是世界上最流行的Java Web服务器框架之一。Struts2是第二代基于Model-View-Controller(MVC)模型的java企业级web应用框架,并成为当时国内外较为流行的容器软件中间件。安全研究人员对之前官方发布的S2-033远程代码执行漏洞修复方案进行分析,发现官方针对这个高危漏洞的修复方案还是无效的,攻击者可使用REST插件调用恶意表达式远程执行代码。
【发布日期】2016-6-16
【漏洞测试】 我司安全研究人员关注到此漏洞后,对漏洞进行分析验证,如下成功执行命令:
【受威胁对象】Apache Struts 2.3.20 - 2.3.28.1,=2.5
【修复方案】1. 修改源代码中plugins\rest\src\main\java\org\apache\struts2\rest\RestActionMapper.java,将setMethod函数和setName中的参数通过cleanupActionName函数进行过滤。
2. 更新Apache Struts版本到2.3.29或2.5.1
升级地址:
https://struts.apache.org/download.cgi