长 亭 漏 洞 预 警
Spring Data Commons
与spring-messaging模块远程代码执行
2018年4月10日,Spring框架官方发布了三个漏洞公告,分别是:
Spring Data Commons模块远程代码执行(CVE-2018-1273),危害等级严重,漏洞由安全公司GoSecure的Philippe Arteau报告
Spring Data Commons模块拒绝服务(CVE-2018-1274),危害等级严重,漏洞由Fortify Webinspect团队的Yevhenii Hrushka报告
spring-messaging模块远程代码执行未修复完全(CVE-2018-1275),危害等级严重,该漏洞是由前几日公布的漏洞CVE-2018-1270修复不完全引起,由三个研究人员独立报告
漏洞详情
Spring Data Commons模块远程代码执行(CVE-2018-1273)
Spring Data 是为基于Spring框架的应用提供底层数据访问支持的项目,Spring Data Commons是其中一个共用的基础设施模块。该模块对特殊属性未进行安全地处理,导致未授权的攻击者可以在请求资源时通过构造特殊的参数,在服务端实现远程代码执行。
Spring Data Commons模块拒绝服务(CVE-2018-1274)
这个漏洞同样存在于Spring Data Commons模块,该模块在解析较长的属性路径时未限制资源分配,导致未授权的攻击者可以通过消耗CPU和内存来实现拒绝服务攻击。
spring-messaging模块远程代码执行未修复完全(CVE-2018-1275)
我们先来回顾一下前几日的CVE-2018-1270漏洞。STOMP(Simple Text Orientated Messaging Protocol)全称为简单文本定向消息协议,它允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。Spring框架中的spring-messaging模块提供了一种基于WebSocket的STOMP协议实现,STOMP消息代理在处理客户端消息时存在SpEL表达式注入漏洞,因此攻击者可以通过构造恶意的消息来实现远程代码执行。
此次这个新的漏洞编号是由于CVE-2018-1270在Spring框架4.3版本修复不完全引起的,研究人员发现针对之前的漏洞修复,攻击者依然可以实现类似的攻击。
影响范围
Spring Data Commons模块的2个漏洞:
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)
已经停止支持的老版本也受影响
spring-messaging模块远程代码执行漏洞:
Spring框架5.0~5.0.4
Spring框架4.3~4.3.15
解决方案
请对Spring Data Commons模块做如下更新:
Spring Data Commons 2.0.x用户请升级到2.0.6
Spring Data Commons 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
要修复spring-messaging模块的漏洞,请对Spring框架版本做如下更新:
5.0.x升级到5.0.5
4.3.x升级到4.3.16
还在使用停止支持的老版本用户,请升级到当前官方提供支持的新版本
参考资料
https://pivotal.io/security/cve-2018-1273
https://pivotal.io/security/cve-2018-1274
https://pivotal.io/security/cve-2018-1275
领取专属 10元无门槛券
私享最新 技术干货