CVE-2020-5397:通过 CORS 预检请求利用 Spring MVC 或 Spring WebFlux 发起 CSRF 攻击

MEDIUM | 2020 年 1 月 16 日 | CVE-2020-5397

描述

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

只有未经身份验证的端点容易受到攻击,因为预检请求不应包含凭据,因此请求应验证失败。 但是,一个值得注意的例外是使用客户端证书进行身份验证的基于 Chrome 的浏览器,因为 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 社区中所有即将举行的活动。

查看全部