标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2025-558]   作者: ecawen 发表于: [2017-09-06]

本文共 [419] 位读者顶过

5日晚,apache官方发布公告称, Struts2出现严重远程代码执行漏洞 ,官方通告中称 [出自:jiwo.org]

Struts2在使用带有 XStream 处理程序的 Struts REST 插件,处理 XML 有效负载时,可能发生远程代码执行攻击

绿盟科技随即发布发布预警通告(见本文后半部分)

Struts2严重远程代码执行漏洞CVE-2017-9805

读者

所有Struts 2 开发者及用户

漏洞影响

Struts2在使用带有 XStream 处理程序的 Struts REST 插件,处理 XML 有效负载时,可能发生远程代码执行攻击

安全等级

严重

建议

升级到 Struts 2.5.13

受影响版本

Struts 2.5 - Struts 2.5.12

报告者

Man Yue Mo <mmo at semmle dot com> ( lgtm.com / Semmle). More information on the lgtm.com blog: https://lgtm.com/blog

CVE编号

CVE-2017-9805

问题

REST 插件正在使用带有 XStream 实例的 XStreamHandler 进行反序列化, 而不进行任何类型筛选, 这可能导致在对 XML 有效负载进行序列处理时,执行远程代码。

解决方案

升级到 Apache Struts版本 2.5.13.

Backward compatibility

由于对可用类的应用默认限制, 一些 REST 动作可能停止工作。在这种情况下, 请调查为允许定义每个操作的类限制而引入的新接口, 这些接口是:

  • org.apache.struts2.rest.handler.AllowedClasses
  • org.apache.struts2.rest.handler.AllowedClassNames
  • org.apache.struts2.rest.handler.XStreamPermissionProvider

Workaround

最好的选择是, 当不使用REST插件时,或仅限于服务器普通页面和 JSON时,删除 Struts REST插件

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

Apache Struts2( S2-052 ) 远程代码执行漏洞 威胁预警通告

绿盟科技发布公告称,公告全文如下

2017年9月5日,Apache Struts发布最新的安全公告,Apache Struts 2.5.x的REST插件存在远程代码执行的高危漏洞,漏洞编号为 CVE-2017-9805 ( S2-052 ) 。漏洞的成因是由于使用XStreamHandler反序列化XStream实例的时候没有任何类型过滤导致远程代码执行。

相关链接如下:

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

影响版本:

Struts 2.5 - Struts 2.5.12

规避方案

立即升级到Struts 2.5.13。

注意:

新版本使用的默认限制策略会导致REST的一些函数停止工作,会对一些业务造成影响,建议使用以下新的接口:

  • org.apache.struts2.rest.handler.AllowedClasses
  • org.apache.struts2.rest.handler.AllowedClassNames
  • org.apache.struts2.rest.handler.XStreamPermissionProvider

临时修复方案

  1. 停止使用REST插件。
  2. 限制服务端扩展类型:

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

评论

暂无
发表评论
 返回顶部 
热度(419)
 关注微信