频道栏目
首页 > 安全 > 系统安全 > 正文

Apache Struts2–052 漏洞研究警示

2017-09-08 09:19:14      个评论      
收藏   我要投稿

The REST Plugin is using a XStreamHandler with an instance of XStream for deserialization without any type filtering and this can lead to Remote Code Execution when deserializing XML payloads. -- Apache Struts 民间平安告示(参考1)

2017年9月5日,Apache Struts宣布最新平安通知布告,Apache Struts2的REST插件存在长途代码履行的高危破绽,该破绽由lgtm.com的平安研究员报告请示,破绽编号为CVE-2017-9805(S2-052)。Struts2 REST插件的XStream组件存在反序列化破绽,应用XStream组件对XML格局的数据包停止反序列化操纵时,未对数据内容停止有用验证,存在平安隐患,可被长途进击。

Struts2启用了rest-plugin后并编写并设置了XStreamHandler后,能够招致长途敕令履行这一重大成绩。

0x01 破绽影响面

影响面

肯定CVE-2017-9805为高危破绽。 现实场景中存在必定局限性,必要满意必定前提,非struts自己默许开启的组件。

影响版本

Version 2.5.0 to 2.5.12

Version 2.3.0 to 2.3.33

修复版本

Struts 2.5.13

Struts 2.3.34

0x02 破绽概况

技巧细节

\

文件/org/apache/struts2/rest/ContentTypeInterceptor.java

在struts2 rest-plugin 中的处置逻辑里接遭到对应格局的新闻时,会挪用曾经注册的对应handler的 handler.toObject办法对其停止实例化,在这里传入的xml新闻,以是就会跳转到曾经界说的XStreamHandler的toObject办法

\

在颠末此处的fromXML办法后招致实例化的歹意对象被履行,招致歹意代码履行

\

随即看到计算器被胜利弹出

破绽修复

\

新版本中增加了XStreamPermissionProvider

\

而且对本来有成绩的createXStream停止重写,增加了校验,回绝不平安的类履行

0x03 破绽应用验证

\

0x04 修复倡议

1.民间倡议设置插件处置的数据范例限定为json

2.升级Struts到2.5.13版本或2.3.34版本

3.在XStreamHandler中停止数据校验或反省

上一篇:SetThreadContext注入Dll注入新知识
下一篇:针对Youtube中高级Flash漏洞bug的研究
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站