前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >预警 | Struts2 REST插件存在远程代码执行漏洞(CVE-2017-9805)

预警 | Struts2 REST插件存在远程代码执行漏洞(CVE-2017-9805)

作者头像
安恒信息
发布2018-04-10 11:36:49
7990
发布2018-04-10 11:36:49
举报
文章被收录于专栏:安恒信息安恒信息

漏洞描述

Struts2 是 Apache 软件基金会负责维护的一个基于MVC设计模式的 Web 应用框架开源项目。

Struts2的REST插件使用带有XStream例程的XStreamHandler执行反序列化操作,但在反序列化过程中没有执行任何类型过滤,这可能在反序列化XML负载时执行任意代码。任意攻击者都可以构造恶意的XML内容来利用这个漏洞。

关于Xstream:Xstream是一种OXMapping技术,是用来处理XML文件序列化的框架,在将JavaBean序列化或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。Xstream也可以将JavaBean序列化成JSON或反序列化,使用非常方便。

漏洞危害

攻击者可以通过构造恶意XML请求在目标服务器上远程执行任意代码。

受影响版本

Struts 2.5 - Struts 2.5.12

漏洞利用前置条件

必须使用REST插件。

风险等级

安恒信息应急响应中心将此漏洞安全风险定级为:高危

修复建议

升级到Struts 2.5.13版本。补丁下载地址:

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.13

安恒玄武盾团队第一时间对规则库进行升级,现可以有效防护该0DAY。

明鉴系列扫描产品WebScan、网站安全监测平台、等级保护工具箱针对该安全漏洞, 均已提供在线更新,用户可通过在线更新功能一键更新漏洞策略,策略版本号为:P6.1.86。

临时缓解措施

暂无有效的临时缓解措施。最好的方法是在不使用时删除Struts REST插件,或仅限于服务器正常页面和JSON:

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

向后兼容性

由于对可用的类应用了默认的限制,某些REST操作可能会停止工作。在这种情况下,请调查所引入的新接口,允许对每个操作定义类限制,这些接口包括:

  • 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

漏洞详细分析情况,请关注安恒信息后续分析报告。

- END -

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安恒信息 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档