Spring CVE-2018-1273,CVE-2018-1274和CVE-2018-1275漏洞预警
2018-04-11 16:30

enter image description here

报告编号: B6-2018-041101

报告来源: 360-CERT

报告作者: 360-CERT

更新日期: 2018-04-11

0x00 漏洞概述

2018年4月9日,Pivotal Spring官方发布安全公告,Spring框架中存在远程代码执行漏洞(CVE-2018-1275):针对漏洞(CVE-2018-1270)的部分修复。

4月10日Spring再次发布安全公告,Spring框架中存在两个漏洞:Spring Data Commons组件远程代码执行漏洞(CVE-2018-1273)和Spring Data Commons组件拒绝服务漏洞(CVE-2018-1274)。

enter image description here

从四月五日至四月十日,Spring官方一共发布了六个漏洞安全公告,包含了远程代码执行漏洞,目录遍历漏洞和拒绝服务等高危漏洞。

360-CERT经过相关分析,认为漏洞影响严重,建议相关用户尽快进行评估升级。

0x01 漏洞影响面

影响版本

CVE-2018-1273和CVE-2018-1274

  • Spring Data Commons 1.13 至 1.13.10(Ingalls SR10)
  • Spring Data REST 2.6 至 2.6.10 (Ingalls SR10)
  • Spring Data Commons 2.0 至 2.0.5 (Kay SR5)
  • Spring Data REST 3.0 至 3.0.5 (Kay SR5)
  • 已停止支持的老版本

CVE-2018-1275

  • Spring Framework 5.0 至 5.0.4
  • Spring Framework 4.3 至 4.3.15
  • 已停止支持的老版本

修复版本

CVE-2018-1273和CVE-2018-1274

Data Commons组件

  • 2.0.x系列升级到2.0.6
  • 1.13.x系列升级到1.13.11
  • 停止支持的老版本升级到官方提供支持的新版本

项目中已经修复的版本

  • Spring Data REST 2.6.11 (Ingalls SR11)
  • Spring Data REST 3.0.6 (Kay SR6)
  • Spring Boot 1.5.11
  • Spring Boot 2.0.1

CVE-2018-1275

  • 5.0.x 升级到 5.0.5
  • 4.3.x 升级到 4.3.16
  • 停止支持的老版本升级到官方提供支持的新版本

0x02 漏洞详情

CVE-2018-1273

Spring Data 是Spring框架中提供底层数据访问的项目模块,Spring Data Commons 是一个共用的基础模块。此模块对特殊属性处理时会使用SpEl表达式,导致攻击者可以通过构造特殊的URL请求,造成服务端远程代码执行。

Spring在补丁中使用更加安全的SimpleEvaluationContext替换了StandardEvaluationContext
补丁

enter image description here

CVE-2018-1274

Spring Data Commons模块在解析属性路径时未限制资源分配,导致攻击者可以通过消耗CPU和内存资源来进行拒绝服务攻击。

补丁

enter image description here

CVE-2018-1275

此漏洞是Spring-messaging远程代码执行漏洞(CVE-2018-1270)修复时的遗留问题,(CVE-2018-1270)涉及到Spring框架的5.0.x版本和4.3.x版本。但由于对4.3.x版本修复不完全,导致攻击者仍然可以进行远程代码执行攻击。

相关CVE-2018-1270漏洞分析预警地址https://cert.360.cn/warning/detail?id=3efa573a1116c8e6eed3b47f78723f12

0x03 时间线

2018-04-09 Spring 发布漏洞CVE-2018-1275安全公告

2018-04-10 Spring 发布漏洞CVE-2018-1273和漏洞CVE-2018-1274安全公告

2018-04-11 360-CERT发布预警通告

0x04 参考链接

  1. https://pivotal.io/security

  2. https://cert.360.cn/warning/detail?id=3efa573a1116c8e6eed3b47f78723f12

  3. https://github.com/spring-projects/spring-data-commons/commit/b1a20ae1e82a63f99b3afc6f2aaedb3bf4dc432a

  4. https://github.com/spring-projects/spring-data-commons/commit/371f6590c509c72f8e600f3d05e110941607fbad?diff=unified