2017年9月5日,Apache Struts发布最新的安全公告,Apache Struts 2.5.x的REST插件存在远程代码执行的高危漏洞,漏洞编号为CVE-2017-9805(S2-052)。漏洞的成因是由于使用XStreamHandler反序列化XStream实例的时候没有任何类型过滤导致远程代码执行。
漏洞概述
Struts2的REST插件在使用带有XStream实例的XStreamHandler进行反序列化而不进行任何类型筛选时, 可能导致远程代码执行。
cve编号:CVE-2017-9805
影响版本:Struts 2.5 - Struts 2.5.12
修复建议
临时修复方案
停止使用REST插件或限制服务端扩展类型:<constant name="struts.action.extension" value="xhtml,,json" />
升级至官方最新版本
官方已经发布Struts 2.5.13,请更新到最新版本:https://github.com/apache/struts/releases/tag/STRUTS_2_5_13
注意事项
更新到Struts 2.5.13后,默认限制策略会导致REST的一些函数停止工作,会对一些业务造成影响,建议使用以下新的接口:
org.apache.struts2.rest.handler.AllowedClasses org.apache.struts2.rest.handler.AllowedClassNames org.apache.struts2.rest.handler.XStreamPermissionProvider
未经允许请勿转载:程序喵 » Struts2 REST插件XStream远程代码执行漏洞