Spring 安全公告

CVE-2020-5397:通过 Spring MVC 或 Spring WebFlux 的 CORS 预检请求进行 CSRF 攻击

中等 | 2020年1月16日 | CVE-2020-5397

描述

Spring Framework 5.2.x 版本(低于 5.2.3)容易受到通过针对 Spring MVC(spring-webmvc 模块)或 Spring WebFlux(spring-webflux 模块)端点的 CORS 预检请求进行 CSRF 攻击。

只有未经身份验证的端点容易受到攻击,因为预检请求不应包含凭据,因此请求应该无法通过身份验证。但是,一个值得注意的例外情况是,当使用客户端证书进行身份验证时,基于 Chrome 的浏览器会发送 CORS 预检请求中的 TLS 客户端证书,这违反了规范要求。

由于此攻击,无法发送或接收任何 HTTP 正文。

受影响的 Spring 产品和版本

  • Spring Framework
    • 5.2.0 至 5.2.2

缓解措施

受影响版本的使用者应应用以下缓解措施。5.2.x 用户应升级到 5.2.3。无需其他缓解步骤。使用 Spring Security 且启用基于 URL 的安全性以及 CORS 支持可以防止暴露于此漏洞。已修复此问题的版本包括

  • Spring Framework
    • 5.2.3

致谢

此问题由 Google 的 Eric Zimanyi 发现并负责任地报告。

参考

历史

  • 2020-01-16:发布初始漏洞报告。

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部