CVE-2021-22112:在單個請求中多次更改 SecurityContext 可能無法儲存

| 2021 年 2 月 19 日 | CVE-2021-22112

描述

Spring Security 版本 5.4.0 到 5.4.3、5.3.0.RELEASE 到 5.3.8.RELEASE、5.2.0.RELEASE 到 5.2.8.RELEASE 以及更舊的不受支援版本,如果在單個請求中多次更改 SecurityContext,可能會無法儲存。如果開發人員在單個請求中更改 SecurityContext 兩次,並且滿足以下兩個條件,則 SecurityContext 可能無法儲存到 HttpSession:首先,開發人員必須在 HttpResponse 提交之前更改 SecurityContext,然後 HttpResponse 必須在 SecurityContextPersistenceFilter 完成之前提交。然後,開發人員必須在 SecurityContextPersistenceFilter 完成之前再次嘗試更改 SecurityContext。惡意使用者無法導致此錯誤發生(必須在程式中編寫)。但是,如果應用程式的意圖是僅允許使用者在應用程式的一小部分中以提升的許可權執行,則可以利用此錯誤將這些許可權擴充套件到應用程式的其餘部分。

受影響的 Spring 產品和版本

  • Spring Security
    • 5.4.0 到 5.4.3
    • 5.3.0.RELEASE 到 5.3.8.RELEASE
    • 5.2.0.RELEASE 到 5.2.8.RELEASE

緩解措施

受影響版本的使用者應應用以下緩解措施:5.4.x 使用者應升級到 5.4.4,5.3.x 使用者應升級到 5.3.9.RELEASE,5.2.x 使用者應升級到 5.2.9.RELEASE。舊版本應升級到受支援的分支。已修復此問題的版本包括

  • Spring Security
    • 5.4.4
    • 5.3.9.RELEASE
    • 5.2.9.RELEASE

致謝

此問題由 CloudBees, Inc. 的 Daniel Beck、Jeff Thompson、Jesse Glick 和 Wadeck Follonier 發現並負責任地報告。

參考

歷史

  • 2021-02-19:更正了已修復版本
  • 2021-02-19:釋出了初始漏洞報告。

領先一步

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

瞭解更多

獲得支援

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

瞭解更多

即將舉行的活動

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

檢視全部