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 社群中所有即將舉行的活動。

檢視全部