Struts2远程代码执行漏洞CVE-2017-9805 s2-052 绿盟科技发布扫描工具

简介:

5日晚,apache官方发布公告称, Struts2出现严重远程代码执行漏洞 。发布通告不到一天,又更新了受影响版本的范围,增加了Struts 2.12 - Struts 2.3.33 ,此外还有Struts 2.5 - Struts 2.5.12。请尽快升级到 Struts 2.5.13 ,官方通告中称

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

绿盟科技随即发布发布预警通告(见本文后半部分),并给出CVE-2017-9805(s2-052漏洞)免费在线扫描工具

https://cloud.nsfocus.com/#/krosa/views/initcdr/productandservice?page_id=12

update: 绿盟科技已经发布了 CVE-2017-9805 ( s2-052漏洞)技术分析和防护方案

http://toutiao.secjia.com/struts2-cve-2017-9805-s2-052-protection

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

读者

所有Struts 2 开发者及用户

漏洞影响

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

安全等级

严重

建议

升级到 Struts 2.5.13

受影响版本

Struts 2.12 - Struts 2.3.33 , 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

绿盟科技声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。



原文发布时间:2017年9月5日

本文由:apache发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/struts2-rce

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

相关文章
|
Web App开发 移动开发 安全
Struts2 S2-062 (CVE-2021-31805) 远程代码执行漏洞
Apache 官方发布了 Apache Struts2 的风险通告,漏洞编号为 CVE-2021-31805,可能会导致远程代码执行。
197 1
|
开发框架 安全 PHP
ThinkPHP5 5.0.23 远程代码执行漏洞 漏洞复现
ThinkPHP5 5.0.23 远程代码执行漏洞 漏洞复现
1004 0
|
开发框架 安全 PHP
Thinkphp5 5.0.22/5.1.29 远程代码执行漏洞 漏洞复现
Thinkphp5 5.0.22/5.1.29 远程代码执行漏洞 漏洞复现
620 0
|
XML 安全 Oracle
Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271 漏洞复现
Weblogic XMLDecoder 远程代码执行漏洞 CVE-2017-10271 漏洞复现
163 0
|
JSON 供应链 安全
JsonWebToken远程代码执行漏洞(CVE-2022-23529)
JsonWebToken远程代码执行漏洞(CVE-2022-23529)
JsonWebToken远程代码执行漏洞(CVE-2022-23529)
|
安全 Shell
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
791 0
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
|
安全 PHP
ThinkPHP < 5.0.24 远程代码执行高危漏洞 修复方案
漏洞描述由于ThinkPHP5.0框架对Request类的method处理存在缺陷,导致黑客构造特定的请求,可直接GetWebShell。 漏洞评级严重 影响版本ThinkPHP 5.0系列 < 5.
25800 0
|
安全 Windows
CVE-2017-8464远程命令执行漏洞(震网漏洞)复现
2017年6月13日,微软官方发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘、网络共享等途径触发漏洞,完全控制用户系统,安全风险高危。
1543 0
|
安全 Java 测试技术
CVE-2017-12615/CVE-2017-12616:Tomcat信息泄漏和远程代码执行漏洞分析报告
一. 漏洞概述 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,该漏洞受影响版本为7.0-7.80之间,官方评级为高危,在一定条件下,攻击者可以利用这两个漏洞,获取用户服务器上 JSP 文件的源代码,或是通过精心构造的攻击请求,向用户服务器上传恶意JSP文件,通过上传的 JSP 文件 ,可在用户服务器上执行任意代码,从而导致数据泄露或获取服务器权限,存在高安全风险。
4934 0