欢迎来到江西理工大学教育信息技术中心!

关于Apache


图片作者

近日,国家信息安全漏洞共享平台(CNVD)收录了Apache Struts2 S2-037远程代码执行漏洞(CNVD-2016-04040,对应 CVE-2016-4438 )。远程攻击者利用漏洞在安装部署了REST插件的Struts 2服务器上远程执行指令,取得服务器控制权限。由于利用代码已经公开,建议用户紧急升级最新的Apache 2.3.29版本防范潜在的攻击。

  一、漏洞情况分析

  Struts2是第二代基于Model-View-Controller (MVC)模型的java企业级web应用框架,并成为当时国内外较为流行的容器软件中间件。

  根据CNVD技术组成员单位——杭州安恒公司提供的分析情况,服务器部署使用Rest插件之后,当客户端请求url符合如下格式“actionName/id/methodName”时会获取methodName作为ActionMapping类的method属性,但 method属性未进行严格过滤,导致漏洞产生。从已披露的利用代码看,CNVD认为攻击者利用发起漏洞攻击的原理与S2-032、S2-033漏洞基本一致,都是通过method属性带入到OGNL表达式中,静态调用ognl.OgnlContext的DEFAULT_MEMBER_ACCESS属性并覆盖_memberAccess的方式进行,进而在服务器端执行任意代码。

  该漏洞与6月初披露的S2-033漏洞相比,虽然也是安装部署REST插件的条件下触发,但与是否启用动态方法调用无关,CNVD评估认为该漏洞影响要大于S2-033漏洞的影响范围,也有可能比S2-032漏洞影响范围更大(取决于REST插件应用比例,CNVD暂无准确评估值)。

  CNVD对该漏洞的综合评级为“高危”。

  二、漏洞影响范围

  漏洞影响部署使用REST插件的Struts 2.3.20 - 2.3.28.1版本。

  三、漏洞修复建议

  目前,互联网上已披露了该漏洞的利用代码。Apache Struts官方已发布了升级程序修复该漏洞,CNVD建议用户将程序升级至Struts 2.3.29版本。更新地址:https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.29


上一条:将信息安全纳入高校发展规划 下一条:数据中心自动化的两层技术创新

关闭