综述
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
Struts2 的Jackson JSON库中存在拒绝服务漏洞,在使用Struts REST插件时,攻击者可以通过精心构造的JSON请求造成DoS攻击。如果Jackson JSON库中设置enableDefaultTyping,可能导致远程代码执行。
漏洞概述
漏洞类型: 拒绝服务漏洞
危险等级: 高危
利用条件: Struts2在受影响版本内,并使用REST插件
受影响版本: Struts 2.5 – Struts 2.5.14
漏洞编号
CVE-2017-15707 Struts2拒绝服务漏洞(S2-054)
CVE-2017-7525 Struts2 Jackson反序列化漏洞(S2-055)
漏洞描述
Struts2 的Jackson JSON库中存在拒绝服务漏洞,在使用Struts REST插件时,攻击者可以通过精心构造的JSON请求造成DoS攻击。如果Jackson JSON库中设置enableDefaultTyping,可能导致远程代码执行。
修复建议
安装官方补丁升级到最新版本:Struts 2.5.14.1。
临时修复方法
更新Jackson JSON库com.fasterxml.jackson到 2.9.2版本。
参考链接
https://cwiki.apache.org/confluence/display/WW/S2-054
https://cwiki.apache.org/confluence/display/WW/S2-055