报告编号: 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)。
从四月五日至四月十日,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
。
补丁
CVE-2018-1274
Spring Data Commons模块在解析属性路径时未限制资源分配,导致攻击者可以通过消耗CPU和内存资源来进行拒绝服务攻击。
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 参考链接
- https://pivotal.io/security
- https://cert.360.cn/warning/detail?id=3efa573a1116c8e6eed3b47f78723f12
- https://github.com/spring-projects/spring-data-commons/commit/b1a20ae1e82a63f99b3afc6f2aaedb3bf4dc432a
- https://github.com/spring-projects/spring-data-commons/commit/371f6590c509c72f8e600f3d05e110941607fbad?diff=unified