有关Apache Struts2插件存在高危漏洞(S2-052)的通知
发布人: 郭玉娇 发布时间: 2017-09-07 作者: 访问次数: 412

漏洞编号:CVE-2017-9805

漏洞作者:Man Yue Mo <mmo at semmle dot com>

影响版本:Struts 2.5 - Struts 2.5.12,Struts 2.1.2 - Struts 2.3.33

漏洞等级:严重

漏洞简述:当启用 Struts REST的XStream handler去反序列化处理XML请求,可能造成远程代码执行漏洞。

漏洞描述:

当启用 Struts REST的XStream handler去反序列化处理一个没有经过任何类型过滤的XStream的实例,可能导致在处理XML时造成远程代码执行漏洞。

漏洞POC:暂不公开

验证截图:

修复建议:

1.  升级Apache struts 2.5.13或2.3.34版本

2. 如果系统没有使用Struts REST插件,那么可以直接删除Struts REST插件,或者在配置文件中加入如下代码,限制服务端文件的扩展名

1

<constant name=struts.action.extensionvalue=xhtml,,json/>


升级注意事项:

如果选择将 Struts2 框架升级到  Struts 2.5.13 或者 Struts 2.3.34,有可能造成某些 REST actions 工作不正常,此时请开发人员参考新版本 Struts2 框架引入的新的接口来解决此问题:

1

2

3

org.apache.struts2.rest.handler.AllowedClasses

org.apache.struts2.rest.handler.AllowedClassNames

org.apache.struts2.rest.handler.XStreamPermissionProvider


参考:

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