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 OSS

無需其他緩解步驟。

致謝

此問題由 Josh Cummings 負責地回報。

參考資料

歷史記錄

  • 2024-08-19 - 首次報告發佈

搶先一步

VMware 提供訓練和認證,以加速您的進展。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中,為 OpenJDK™、Spring 和 Apache Tomcat® 提供支援和二進位檔案。

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

檢視全部