CVE-2022-31690: spring-security-oauth2-client 中的許可權提升

| 2022 年 10 月 31 日 | CVE-2022-31690

描述

Spring Security,版本 5.7(低於 5.7.5)和 5.6(低於 5.6.9),以及較舊的不受支援的版本,在某些條件下可能容易受到許可權提升的攻擊。惡意使用者或攻擊者可以修改客戶端(透過瀏覽器)發起的到授權伺服器的請求,這可能導致後續批准中的許可權提升。如果授權伺服器在後續訪問令牌端點的請求中,返回包含空範圍列表的 OAuth2 訪問令牌響應(根據RFC 6749,第 5.1 節),則可能發生這種情況。

此漏洞暴露了滿足以下所有要求的應用程式

  • 充當登入客戶端的角色(例如,http.oauth2Login()
  • 在客戶端應用程式中使用一個或多個授權規則,其中許可權對映自授權範圍(例如,anyRequest().hasAuthority("SCOPE_message.write")
  • 註冊一個授權伺服器,該伺服器響應一個空範圍列表(根據 RFC 6749,第 5.1 節)

此漏洞會暴露以下應用程式

  • 僅充當資源伺服器的角色(例如,http.oauth2ResourceServer()
  • 在客戶端應用程式中使用授權規則,其中許可權未對映自授權範圍(例如,anyRequest().hasAuthority("ROLE_USER")

受影響的 Spring 產品和版本

  • Spring Security
    • 5.7 到 5.7.4
    • 5.6 到 5.6.8
    • 較舊的不受支援的版本也受到影響

緩解措施

受影響版本的使用者應應用以下緩解措施:Spring Security 5.7 到 5.7.5,Spring Security 5.6 到 5.6.9。較舊的版本應升級到受支援的分支。無需其他緩解措施。已修復此問題的版本包括

  • Spring Security
    • 5.7.5
    • 5.6.9

致謝

此問題由 Apache Software Foundation 的 Tobias Soloschenko (@klopfdreh) 發現並負責任地報告。

參考

歷史

  • 2022-10-31:釋出初始漏洞報告。

領先一步

VMware 提供培訓和認證,以加速您的進步。

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

檢視 Spring 社群中所有即將舉行的活動。

檢視全部