Spring Security 安全公告

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 的身份验证参数,导致错误地返回 true

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

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

请注意,自 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 社区中所有即将举行的活动。

查看全部