教育数字化知识图谱
打开微信扫一扫
一
.
漏洞概述
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
组件的相关依赖包,如:
com.fasterxml.jackson.core
jackson-core
com.fasterxml.jackson.core
jackson-databind
com.fasterxml.jackson.dataformat
jackson-dataformat-xml
true
3.
在应用系统的
struts.xml
配置文件中配置
xml
解析器为
Struts 2.5.16
版本提供的
JacksonXmlHandler
类。示例如下:
然后配置
struts.properties
文件中,使自定义的
xml
处理器覆盖框架默认解析器。示例如下:
struts.rest.handlerOverride.xml=myXml