【漏洞预警】Apache Struts2插件高危漏洞(S2-052)


http://p1.qhimg.com/t01a6f34a22f820e327.png

漏洞编号: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:暂不公开

验证截图:

http://p6.qhimg.com/t0185fc99c7ec578a47.png

修复建议:

1.  升级Apache struts 2.5.13或2.3.34版本

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

<constant name="struts.action.extension" value="xhtml,,json" />


升级注意事项:

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

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 

(完)