【漏洞公告】Spring 框架及组件多个安全漏洞

2018年5月8日,阿里云云盾应急响应中心监测到Spring官方发布3个严重,2个高危漏洞,漏洞涉及Spring Messaging组件,Spring Security框架,Spring Data 框架等多个模块,攻击者可利用该漏洞实施远程代码执行攻击,DoS,绕过安全限制获取敏感信息。

漏洞详情见下文


漏洞编号

CVE-2018-1257

CVE-2018-1258

CVE-2018-1259

CVE-2018-1260

CVE-2018-1261

漏洞名称

CVE-2018-1257:Spring Messaging组件中存在漏洞可导致正则表达式拒绝服务攻击

CVE-2018-1258:Spring Security框架Method Security安全限制绕过漏洞

CVE-2018-1259:Spring Data 框架使用XMLBean产生XXE漏洞

CVE-2018-1260:Spring-Security-OAuth2 远程代码执行漏洞

CVE-2018-1261:Spring-Integration-Zip 任意文件写漏洞

官方评级

CVE-2018-1257 (高危)

CVE-2018-1258 (严重)

CVE-2018-1259 (高危)

CVE-2018-1260 (严重)

CVE-2018-1261 (严重)

漏洞描述

CVE-2018-1257 Spring Messaging组件中存在漏洞可导致正则表达式拒绝服务攻击

Spring框架5.0.x系列5.0.6之前的版本,4.3.x系列4.3.17之前的版本,和其他不再受支持的版本中存在漏洞,攻击者可以利用该漏洞向内存中的STOMP消息服务发送特殊的消息,导致在处理正则表达式时候出现拒绝服务。

严重等级:高

受漏洞影响的条件:

1.依赖了spring-messaging和spring-websocket模块。

2.在WebSocket端点上注册了STOMP协议。

3.开启了简单STOMP消息服务。

修复措施:升级Spring框架到5.0.6/4.3.17

CVE-2018-1258 Spring Security框架Method Security安全限制绕过漏洞

Spring Security Method Security 和 Spring框架5.0.5.RELEASE 结合使用时会出现身份授权绕过漏洞,未经授权的恶意用户可访问禁止访问的方法。

严重等级:严重

影响范围:

Spring Framework 5.0.5.RELEASE + 任意版本的 Spring Security

修复方案:

升级Spring框架到5.0.6及以上。

升级Spring Boot到2.0.2及以上。

CVE-2018-1259: Spring Data 框架使用XMLBean产生XXE漏洞

Spring Data Commons 框架1.13.x系列1.13.11之前的版本,2.0.x系列 2.0.6之前的版本,和XMLBean1.4.14之前的版本一起使用时包含一个属性绑定漏洞,该漏洞由于XMLBean库未限制外部引用扩展造成的。未经身份认证的远程恶意用户可以向Spring Data基于投射的请求Payload绑定提交特制的请求参数访问系统上的任意文件。

严重等级:高

影响范围:

Spring Data Commons

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)

修复方案:

1.13.x 升级到 1.13.12 (Ingalls SR12)

2.0.x 升级到 2.0.7 (Kay SR7)

或升级 XMLBeam 到 1.4.15

以下框架已经修复了该问题:

Spring Data REST 2.6.12 (Ingalls SR12)

Spring Data REST 3.0.7 (Kay SR7)

CVE-2018-1260 Spring-Security-OAuth2 远程代码执行漏洞

Spring Security OAuth模块2.3.x系列2.3.3之前的版本,2.2.x系列2.2.2之前的版本,2.1.x系列2.1.2之前的版本,2.0系列2.0.15之前的版本和停止支持的版本中包含一个远程代码执行漏洞。恶意的用户可以通过特制授权请求在服务器上执行任意代码。

  1. 受漏洞影响的条件:
  2. 1. 角色是授权服务器(@EnableAuthorizationServer)。
  3. 2. 使用默认的Approval Endpoint。
  4. 该漏洞不影响如下配置:
  5. 1. 角色是授权服务器,但是不使用默认的Approval Endpoint。
  6. 2. 只扮演资源服务器的。(@EnableResourceServer)。
  7. 3. 只扮演OAuth客户端的。(@EnableAuthClient)。

修复方案:

Spring Security OAuth 2.3 升级到 2.3.2

Spring Security OAuth 2.2 升级到 2.2.1

Spring Security OAuth 2.1 升级到 2.1.1

Spring Security OAuth 2.0 升级到 2.0.14

CVE-2018-1261: Spring-Integration-Zip 任意文件写漏洞

spring-integration-zip 1.0.1之前的版本的unzip transformer中存在一个任意文件写漏洞,恶意构造的压缩文档解压时会覆盖外部文件。

严重等级:严重

影响范围:Spring Integration Zip Community Extension Project 版本 1.0.0

修复方案:升级到1.0.1

漏洞利用条件和方式

CVE-2018-1257:DoS攻击

CVE-2018-1258:身份授权绕过,未授权访问

CVE-2018-1259:XXE漏洞

CVE-2018-1260:远程代码执行

CVE-2018-1261:任意文件写漏洞

漏洞检测

检查是否使用了受影响版本

漏洞修复建议(或缓解措施)

阿里云安全团队建议使用了Spring相关框架用户关注并及时更新到官方最新版

Spring Security OAuth:https://projects.spring.io/spring-security-oauth/

Spring Data REST:https://projects.spring.io/spring-data-rest/

Spring Framework: https://projects.spring.io/spring-framework/

Spring Integration Zip:https://github.com/spring-projects/spring-integration-extensions/tree/master/spring-integration-zip

Spring Data Commons:https://github.com/spring-projects/spring-data-commons/releases