Apache Struts2 REST插件存在S2-052远程代码执行漏洞(CVE-2017-9805)

  • 内容
  • 相关
 一、漏洞情况分析
  Struts2是第二代基于Model-View-Controller(MVC)模型的java企业级web应用框架,并成为国内外较为流行的容器软件中间件。Xstream是一种OXMapping技术,是用来处理XML文件序列化的框架,在将JavaBean序列化或将XML文件反序列化的时候,不需要其它辅助类和映射文件。Xstream也可以将JavaBean序列化成JSON或反序列化,使用非常方便。
  Struts2的REST插件使用带有XStream例程的XStreamHandler执行反序列化操作,但在反序列化过程中未做任何类型过滤,导致攻击者可能在反序列化XML负载时构造恶意的XML内容执行任意代码。
  CNVD对漏洞的综合评级均为“高危”。
  二、漏洞影响范围
  根据官方公告情况,漏洞影响Apache Struts2.5至Struts 2.5.12版本。参考长亭公司的核验结果,Apache Struts 2.3.33版本也受到漏洞影响且官方网站未发布对应版本的更新。综合评估认为,虽然攻击原理通用,但由于目前攻击利用过程存在远程指令执行回显的技术限制以及需要有REST插件应用的前提条件,本次S2-052漏洞威胁达不到S2-045/046漏洞的威胁级别。
  三、漏洞处置建议
  根据官方发布的安全更新,建议升级到ApacheStruts版本2.5.13,下载地址:https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.13。
  此外,可以采用如下临时解决方案:
  1、如果非网站功能必需,建议删除StrutsREST插件,或仅用于服务器普通页面和JSONs:
<constantname="struts.action.extension" value="xhtml,,json" />
  2、限制服务端扩展类型,删除XML支持。
  注:兼容问题
  由于可用类的默认限制,某些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

  http://www.cnvd.org.cn/flaw/show/CNVD-2017-25267  

最后送上 Apache Struts2 远程代码执行漏洞(S2-052)在线检测地址

点我访问:GOGO

访问原文

本文标签:

版权声明:若无特殊注明,本文皆为《颓废》原创,转载请保留文章出处。

收录状态:[百度已收录] | [360已收录] | [搜狗已收录]

本文链接:Apache Struts2 REST插件存在S2-052远程代码执行漏洞(CVE-2017-9805) - https://www.0dayhack.com/post-679.html

严重声明:本站内容来自于互联网,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规,黑客不是骇客,黑客维护网络安全

发表评论

电子邮件地址不会被公开。 必填项已用*标注