CVE-2024-22234: Spring Security 中直接使用 isFullyAuthenticated 导致的访问控制失效

| 2024 年 2 月 19 日 | CVE-2024-22234

描述

在 Spring Security 的 6.1.x 版本(6.1.7 之前)和 6.2.x 版本(6.2.2 之前)中,当应用程序直接使用 AuthenticationTrustResolver.isFullyAuthenticated(Authentication) 方法时,容易受到访问控制失效的攻击。

具体来说,如果出现以下情况,应用程序就会受到攻击:

  • 应用程序直接使用 AuthenticationTrustResolver.isFullyAuthenticated(Authentication),并且向其传递了 null 的认证参数,导致返回错误的 true 值。

在以下任何一种情况为真时,应用程序不易受攻击:

  • 应用程序未直接使用 AuthenticationTrustResolver.isFullyAuthenticated(Authentication)
  • 应用程序未向 AuthenticationTrustResolver.isFullyAuthenticated 传递 null
  • 应用程序仅通过方法安全HTTP 请求安全使用 isFullyAuthenticated

受影响的 Spring 产品和版本

  • Spring Security
    • 6.1.0 至 6.1.6
    • 6.2.0 至 6.2.1

缓解措施

受影响版本的用户应采取以下缓解措施。6.1.x 用户应升级到 6.1.7。6.2.x 用户应升级到 6.2.2。无需采取其他步骤。已修复此问题的版本包括:

  • Spring Security
    • 6.1.7
    • 6.2.2

致谢

此问题由 Rogério Sorroche (https://github.com/rogeriosorroche) 发现并负责任地报告。

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有