【漏洞预警】Spring Framework五处重要安全漏洞预警

  • 来源:深信服安全中心
  • 发布时间:2018-05-11
#

事件描述

    近日,在Pivotal发布的一份报告中,安全研究人员在Spring Framework多个版本中发现了五个重要漏洞:CVE-2018-1257、CVE-2018-1258、CVE-2018-1259、CVE-2018-1260、CVE-2018-1261。

    千里百科

    Spring Framework是一个Java/Java EE/.NET的分层应用程序框架。它是一个基于IOC和AOP构架多层J2EE系统的开源框架,模块化好且实现了很优雅的MVC,对不同的数据访问技术提供了统一的接口。此外它采用的IOC可以很容易的实现Bean的装配,提供的AOP简洁易用并据此实现了Transaction Management等功能。Spring Framework 提供简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量属性文件和帮助类。目前此框架的使用非常活跃。

    漏洞描述

    CVE-2018-1257漏洞: Spring Framework 5.0.6之前的版本5.0.x和4.3.17之前的版本4.3.x以及较早的不受支持的版本允许应用程序通过Spring消息传递模块通过简单的内存中STOMP代理在WebSocket端点上公开STOMP。恶意用户(或攻击者)可以通过这个方式向代理服务器发送一条特殊消息,这可能导致出现拒绝服务攻击。(High)

    漏洞触发需要满足以下要求:

    1.需要依赖于spring-messaging 和 spring-websocket 模块。

    2.需要通过WebSocket端点注册STOMP。

    3.启用简单的STOMP代理。

    CVE-2018-1258漏洞: Spring Security与Spring Framework 5.0.5.RELEASE结合使用时。在使用方法安全性中出现了认证绕过,未经授权的恶意用户可能会未经授权就访问本应受限制的方法。(Critical)

    CVE-2018-1259漏洞: Spring Data Commons的1.13至1.13.11以及2.0至2.0.6之间的版本与XMLBeam 1.4.14或更早版本结合使用时,包含一个属性绑定性漏洞。该漏洞由于XML外部实体引用的不当限制而导致的属性联编程序漏洞,其原因是因为基础库XMLBeam不会限制外部参考扩展。未经身份验证的攻击者可以针对Spring Data的基于投影(projection-based)的请求并附加恶意的请求参数,以访问系统上的任意文件。(High)

    CVE-2018-1260漏洞: Spring Security OAuth部分版本中包含一个远程代码执行漏洞,当资源所有者被转发到审批端点时,恶意用户或攻击者可以向授权端点发出授权请求,导致远程执行代码。(Critical)

    漏洞触发有以下前提:

    1.扮演授权服务器的角色(例如@EnableAuthorizationServer)

    2.使用默认的Approval端点

    此漏洞不会影响以下应用程序:

    1.充当授权服务器的角色,但覆盖默认的Approval端点

    2.只扮演资源服务器的角色(例如@EnableResourceServer)

    3.仅扮演客户角色(例如@EnableOAuthClient)

    CVE-2018-1261漏洞: spring-integration-zip 1.0.1之前的版本暴露出一个任意文件写入漏洞,该漏洞可以使用特制的zip压缩文件(也影响到其他压缩文件,如bzip2,tar,xz,war,cpio,7z)来实现,该压缩文件包含了路径遍历文件名。所以当文件名被连接到目标提取目录时,最终路径会在目标文件夹之外结束。

    这只有在使用这个库的应用程序接受并解包来自不受信任的源的zip文件时才会触发。(Critical)

    影响版本

    CVE-2018-1257

    Spring Framework 5.0 to 5.0.5

    Spring Framework 4.3 to 4.3.16

    Older unsupported versions are also affected

    CVE-2018-1258

    Spring Framework 5.0.5.RELEASE + Spring Security (any version)

    CVE-2018-1259

    Spring Data Commons 1.13 to 1.13.11 (Ingalls SR11)

    Spring Data REST 2.6 to 2.6.11 (Ingalls SR11)

    Spring Data Commons 2.0 to 2.0.6 (Kay SR6)

    Spring Data REST 3.0 to 3.0.6 (Kay SR6)

    CVE-2018-1260

    Spring Security OAuth 2.3 to 2.3.2

    Spring Security OAuth 2.2 to 2.2.1

    Spring Security OAuth 2.1 to 2.1.1

    Spring Security OAuth 2.0 to 2.0.14

    Older unsupported versions are also affected

    CVE-2018-1261

    Spring Integration Zip Community Extension Project version 1.0.0.RELEASE

解决方案

    目前暂无漏洞POC,请及时关注深信服安全云和千里目安全实验室微信公众号,我们将第一时间推送此漏洞解决方案。

    建议使用如下措施避免本次漏洞影响:

    (1)修复漏洞CVE-2018-1257:

    Spring Framework 5.0.x 升级至 5.0.6.版本

    Spring Framework4.3.x 升级至 4.3.17.

    不再受支持的版本应升级至各自对应的安全版本

    (2)修复漏洞CVE-2018-1258:

    用户应升级至Spring Framework 5.0.6.版本

    (3)修复漏洞CVE-2018-1259:

    Spring Data Commons 1.x升级至 1.13.12 (Ingalls SR12)

    Spring Data Commons 2.x升级至2.0.7 (Kay SR7)

    还可以将XMLBeam升级至 1.4.15版本

    Spring Data REST升级至Spring Data REST 2.6.12 (Ingalls SR12)

    或者Spring Data REST 3.0.7 (Kay SR7)

    (4)修复漏洞CVE-2018-1260:

    Spring Security OAuth 3.x 升级至 2.3.3

    Spring Security OAuth 2.x 升级至 2.2.2

    Spring Security OAuth 1.x 升级至 2.1.2

    Spring Security OAuth 0.x 升级至 2.0.15

    不再受支持的版本应升级至各自对应的安全版本

    (5)修复漏洞CVE-2018-1261:

    Spring Integration Zip Community Extension Project升级至 1.0.1.RELEASE