去年秋天,发现了一个影响 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日) 中。
“各种 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 Boot 版本能够非常接近生态系统项目的发布,并包含最新的错误和安全修复。