【漏洞通告】Apache Struts2 S2-056 REST插件DoS漏洞

S2-056漏洞发生于Apache Struts2的REST插件,当使用XStream组件对XML格式的数据包进行反序列化操作,且未对数据内容进行有效验证时,攻击者可通过提交恶意XML数据对应用进行远程DoS攻击。

 

官方通告如下:

https://cwiki.apache.org/confluence/display/WW/S2-056

 

漏洞编号

CVE-2018-1327

 

受影响的版本

Struts 2.1.1 – Struts 2.5.14.1

 

不受影响的版本

Struts 2.5.16

 

解决方案

Apache Struts官方在新版本2.5.16版本中针对S2-056漏洞进行了防护,提供了基于Jackson组件的XML数据解析器JacksonXmlHandler,建议应用Apache Struts2 REST插件的用户排查框架版本是否受漏洞影响,及时升级框架并替换XML解析器,升级过程如下:

 

1.登录到官网的下载页面,下载Apache Struts 2.5.16,并升级应用框架:http://struts.apache.org/download.cgi

 

2.除Struts 2框架依赖包外,还需要引入Jackson组件的相关依赖包,如:

3.在应用系统的struts.xml配置文件中配置xml解析器为Struts 2.5.16版本提供的JacksonXmlHandler类。示例如下:

然后配置struts.properties文件中,使自定义的xml处理器覆盖框架默认解析器。示例如下: