CVE-2024-22257:Spring Security 中直接使用 AuthenticatedVoter 可能存在访问控制漏洞

| 2024 年 3 月 18 日 | CVE-2024-22257

描述

在 Spring Security 中,5.7.x 版本(低于 5.7.12)、5.8.x 版本(低于 5.8.11)、6.0.x 版本(低于 6.0.9)、6.1.x 版本(低于 6.1.8)、6.2.x 版本(低于 6.2.3)中,当应用程序直接使用 AuthenticatedVoter#vote 并传递一个 null Authentication 参数时,可能存在访问控制漏洞。

具体来说,如果满足以下条件,应用程序则存在漏洞:

  • 应用程序直接使用 AuthenticatedVoter,并且将一个 null authentication 参数传递给它,导致错误的 true 返回值。

如果满足以下任一条件,则应用程序不存在漏洞:

  • 应用程序不直接使用 AuthenticatedVoter#vote
  • 应用程序不将 null 传递给 AuthenticatedVoter#vote

请注意,自 5.8 版本起,AuthenticatedVoter 已被弃用,请使用 AuthorizationManager 的实现来替代。

受影响的 Spring 产品和版本

Spring Security

  • 6.2.0 至 6.2.2
  • 6.1.0 至 6.1.7
  • 6.0.0 至 6.0.9
  • 5.8.0 至 5.8.10
  • 5.7.0 至 5.7.11
  • 较旧的、不受支持的版本也受到影响

缓解措施

受影响版本的用户应升级到相应的修复版本。

受影响的版本 修复版本 可用性
5.7.x 5.7.12 开源
5.8.x 5.8.11 开源
6.0.x 6.0.10 仅限企业支持
6.1.x 6.1.8 开源
6.2.x 6.2.3 开源

致谢

此问题由 pwnull(https://github.com/pwnull)发现并负责任地报告。

抢先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部