CNNVD关于Apache Struts2(S2-052)漏洞情况的通报

2017-09-07 肖平

近日,国家信息安全漏洞库( CNNVD )接到白帽汇、启明星辰和绿盟科技报送的有关 ApacheStruts2 存在远程代码执行漏洞( CNNVD-201706-914 )的情况。 9 5 日, Apache 官方网站针对上述漏洞发布了安全公告( S2-052 )。 CNNVD 对此进行了跟踪分析,情况如下:

一、漏洞简介

Apache Struts2 Apache 基金会发布的一款实现了 MVC 模式的中间件软件,广泛应用于 Web 开发和大型网站建设。 Apache Struts 2.5 – Struts 2.5.12 版本的 REST 插件存在远程代码执行漏洞( CNNVD-201706-914 CVE-2017-9805 )。当 Struts2 通过 REST 插件使用 XStream 的实例 xstreamhandler 处理反序列化 XML 有效载荷时没有进行任何过滤,导致远程攻击者可以利用该漏洞构造恶意的 XML 内容,进而获取业务数据或服务器权限,执行任意代码。      

二、漏洞危害

Apache Struts 2.5 – Struts 2.5.12版本以及2.3.33版本受该漏洞影响,攻击者可能利用该漏洞远程执行代码,但是存在远程指令执行回显的技术限制以及需要有REST插件应用的前提条件。

三、修复措施

目前, Apache 官方已针对上述漏洞发布了升级补丁,部署 Apache Struts2 的单位,应及时检查所使用的 Struts2 版本是否在受影响范围内。如受影响,可升级至 Struts2 2.5.13 版本或 2.3.34 版本,链接如下:

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

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

【注】新版本使用的默认限制策略会导致 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” />

本报告由CNNVD技术支撑单位——北京白帽汇科技有限公司、北京启明星辰信息安全技术有限公司、北京神州绿盟信息安全科技股份有限公司提供支持。

CNNVD将继续跟踪上述漏洞的相关情况,及时发布相关信息。如有需要,可与CNNVD联系。

联系方式: cnnvd@itsec.gov.cn

*本文作者:CNNVD,转载请注明FreeBuf.COM


用户评论
开源开发学习小组列表