去年秋天,发现了一个影响Spring Data REST的安全漏洞。我们修复了受影响的模块并发布了CVE。我们最近看到了一些关于此问题的新闻,导致了一些混淆。以下是情况说明
简而言之:
- Spring Data REST 2.6.8 和 3.0.0 之前的版本存在安全漏洞,允许执行任意代码。
- 此漏洞已在以下版本中修复:
-- Spring Data REST 2.6.9 (Ingalls SR9, 2017年10月27日),包含在Spring Boot 1.5.9 (2017年10月28日)中。 -- Spring Data REST 3.0.1 (Kay SR1, 2017年10月27日),包含在Spring Boot 2.0 M6 (2017年11月6日)中。
- CVE 最初于 2017 年 9 月底发布。我们最初认为我们在几天前发布的版本中已经修复了这个问题。后续反馈表明情况并非如此,该问题最终在 2017 年 10 月/11 月得到修复。遗憾的是,CVE 没有更新以反映这一点。团队正在努力确保此类更新缺失不再发生。
实际情况
我们看到一些报道对一些细节描述错误。让我们澄清一下。
- 任何时候都没有“多个Spring模块”受到影响。此问题仅存在于Spring Data REST中。
- 当CVE声明受影响的Spring Boot版本时,这 *并不* 意味着每个Spring Boot项目都受到影响。只有使用特定Spring Data REST模块的项目才会受到影响。我们只在CVE中说明Spring Boot版本,以便用户可以快速识别他们使用的Spring Boot版本是否包含易受攻击的Spring Data版本。
- 一些出版物给人一种印象,即所有使用Spring构建的REST API(包括使用Spring MVC手动编码的API)都受到影响。情况并非如此。只有当您公开由Spring Data REST处理的HTTP资源时,才会受到影响。
建议
我们通常建议尽快升级到各个Spring模块的新错误修复版本。团队还非常小心地协调版本发布,以便在发布生态系统项目的版本后,很快就会发布包含最新错误和安全修复程序的Spring Boot版本。
对于与安全相关的升级,请确保您监控我们的已发布的CVE列表,以便立即了解发布的安全修复程序。