S2-056漏洞发生于Apache Struts2的REST插件,当使用XStream组件对XML格式的数据包进行反序列化操作,且未对数据内容进行有效验证时,攻击者可通过提交恶意XML数据对应用进行远程DoS攻击。
官方通告如下:
https://cwiki.apache.org/confluence/display/WW/S2-056
影响范围
- 受影响的版本
Struts 2.1.1 – Struts 2.5.14.1
- 不受影响的版本
Struts 2.5.16
解决建议
Apache Struts官方在新版本2.5.16版本中针对S2-056漏洞进行了防护,建议应用Apache Struts2 REST插件的用户排查框架版本是否受漏洞影响,及时升级框架并替换XML解析器为Jackson XML处理类JacksonXmlHandler。
1.登录到官网的下载页面,下载Apache Struts 2.5.16,并升级应用框架:
http://struts.apache.org/download.cgi
2.除Struts 2框架依赖包外,还需要引入Jackson组件的相关依赖包,如:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <optional>true</optional> </dependency> |
3. 在应用系统的struts.xml配置文件中配置xml解析器为Struts 2.5.16版本提供的JacksonXmlHandler类。示例如下:
<bean name=”myXml” type=”org.apache.struts2.rest.handler.ContentTypeHandler” class=” org.apache.struts2.rest.handler.JacksonXmlHandler” /> |
然后配置struts.properties文件中,使自定义的xml处理器覆盖框架默认解析器。示例如下:
struts.rest.handlerOverride.xml=myXml |
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。
关于绿盟科技
北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。
基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。
北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。