2018年4月10日,Pivotal发布了Spring Data存在多个安全漏洞的公告:
(1)Spring Data Commons核心模块远程代码执行漏洞
对应CVE编号:CVE-2018-1273
漏洞公告链接:https://pivotal.io/security/cve-2018-1273
(2)Spring Data拒绝服务漏洞
对应CVE编号:CVE-2018-1274
漏洞公告链接:https://pivotal.io/security/cve-2018-1274
(3)CVE-2018-1270修复不完整的Spring Framework分支版本存在远程代码执行漏洞
对应CVE编号:CVE-2018-1275
漏洞公告链接:https://pivotal.io/security/cve-2018-1275
官方历史安全公告列表,请参考:
https://pivotal.io/security/
漏洞描述
CVE-2018-1273漏洞:Spring Data Commons模块的1.13.x版本、2.0.x版本以及不再支持的旧版本,在MapDataBinder中使用支持SpEL表达式的StandardEvaluationContext进行数据绑定,可能导致远程命令执行漏洞,成功利用该漏洞,攻击者可以对部署有Spring Data REST模块的Web服务器,提交特殊构造的HTTP请求实现Java代码执行,比如注入ProcessBuilder.start()、Runtime.exec()这些方法实现命令执行,建议尽快更新到新的版本。
CVE-2018-1274漏洞:Spring Data Commons模块的1.13.x版本、2.0.x版本以及不再支持的旧版本,由于PropertyPath类的解析深度限制不够,可能导致拒绝服务漏洞,成功利用该漏洞,攻击者可以对部署有Spring Data REST模块的Web服务器,提交特殊构造的HTTP请求实现服务器CPU和内存资源耗用,从而实现业务拒绝服务效果,建议尽快更新到新的版本。
CVE-2018-1275漏洞:Spring Framework的5.*版本、4.3.*版本以及不再支持的旧版本,通过spring-messaging和spring-websocket模块提供的基于WebSocket的STOMP,存在被攻击者建立WebSocket连接并发送恶意攻击代码的可能,从而实现远程代码执行攻击,Pivotal在4月5日发布了安全公告(cve-2018-1270),但4.3.*版本修补不完整,依然存在漏洞,因此建议尽快更新到新的版本。
漏洞影响范围
Spring Data Commons核心模块远程代码执行漏洞(cve-2018-1273),拒绝服务漏洞(cve-2018-1274)影响版本如下:
(1)Spring Data Commons 1.13 到 1.13.10 (Ingalls SR10)版本,建议更新到1.13.11以上版本
(2)Spring Data Commons 2.0 到 2.0.5 (Kay SR5)版本,建议更新到2.0.6以上版本
(3)其他不再受支持的旧版本都可能受影响,建议更新到最新版本
下载地址:
https://github.com/spring-projects/spring-data-commons/releases
参考官网:
http://projects.spring.io/spring-data/
(1)Spring Data REST 2.6 到 2.6.10 (Ingalls SR10)版本,建议更新到2.6.11 (Ingalls SR11)以上版本
(2)Spring Data REST 3.0 到 3.0.5 (Kay SR5)版本,建议更新到3.0.6 (Kay SR6)以上版本
(3)其他不再受支持的旧版本都可能受影响,建议更新到最新版本
下载地址:
https://github.com/spring-projects/spring-data-rest/releases
参考官网:
https://projects.spring.io/spring-data-rest/
(1)Spring Boot建议更新到1.5.11、2.0.1以上版本
下载地址:
https://github.com/spring-projects/spring-boot/releases
参考官网:
https://projects.spring.io/spring-boot/
Spring Framework分支版本远程代码执行漏洞(cve-2018-1275)影响版本如下:
(1)Spring Framework 5.0 到 5.0.4版本,建议更新到5.0.5以上版本
(2)Spring Framework 4.3 到 4.3.15版本,建议更新到4.3.16以上版本
(3)其他不再受支持的旧版本都可能受影响,建议更新到最新版本
下载地址:
https://github.com/spring-projects/spring-framework/releases
参考官网:
https://projects.spring.io/spring-framework/
4. 漏洞缓解措施
威胁等级
高危:预计攻击代码很快公开(针对cve-2018-1275的代码已经公开),建议尽快升级到无漏洞新版本。
威胁推演
此次漏洞包含有远程代码执行漏洞,基于全球使用该产品用户的数量,恶意攻击者可能会开发针对该漏洞的自动化攻击程序,实现漏洞利用成功后植入后门程序,并进一步释放矿工程序或是DDOS僵尸木马等恶意程序,从而影响到网站服务的正常提供。
安全开发生命周期(SDL)建议:Spring组件历史上已经报过多个安全漏洞,建议使用该产品的企业经常关注官方安全更新公告,建议使用Spring Security对功能模块的调用实现中启用身份验证和访问授权。