Spring Security 公告

CVE-2024-38810:使用@AuthorizeReturnObject时缺少授权

| 2024年8月19日 | CVE-2024-38810

描述

使用@AuthorizeReturnObject或 Spring Security 生成的AuthorizationAdvisorProxyFactory @Bean 来包装对象的应用程序可能无法应用所有安全建议。

当未应用方法安全建议时,这意味着像@PreFilter@PreAuthorize这样的注释可能对这些包装对象不起作用。

请注意,这*不会*影响使用 Spring Security 的方法安全建议的任何@Bean

要使这影响应用程序,以下所有条件都必须为真

  • AnnotationAwareAspectJAutoProxyCreator必须是用于创建代理的自动代理创建器;这可以通过您的应用程序声明式地完成,也可以通过@EnableAspectJAutoProxy启用,或者通过使用spring-aspects或使用spring-aspects的启动器由 Spring Boot 启用
  • 应用程序必须在应用程序上下文中至少存在一个FactoryBean
  • 应用程序必须使用@EnableMethodSecurity启用方法安全
  • 应用程序必须使用@AuthorizeReturnObject注释或 Spring Security 生成的AuthorizationAdvisorProxyFactory @Bean来包装对象
  • 应用程序必须在这些包装对象上使用@PreFilter@PostFilter@PreAuthorize@PostAuthorize

如果所有这些都为真,那么某些方法安全建议可能不会应用于@AuthorizeReturnObjectAuthorizationAdvisorProxyFactory包装的对象。

任何以下条件为真的应用程序*不受*影响

  • 应用程序没有在任何包装对象上使用@PreFilter@PostFilter@PreAuthorize@PostAuthorize
  • 应用程序没有使用@EnableMethodSecurity启用方法安全
  • 应用程序没有使用@AuthorizeReturnObject或 Spring Security 生成的AuthorizationAdvisorProxyFactory @Bean
  • 应用程序没有任何FactoryBean
  • 应用程序没有使用AnnotationAwareAspectJAutoProxyCreator进行自动代理创建

受影响的 Spring 产品和版本

这会影响以下 Spring Security 版本

  • 6.3.0 和 6.3.1

缓解措施

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

受影响版本 修复版本 可用性
6.3.x 6.3.2 开源

无需其他缓解步骤。

致谢

此问题由 Josh Cummings 负责报告。

参考

历史

  • 2024-08-19 - 初始报告发布

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部