CVE-2023-20859:令牌吊銷失敗導致敏感資訊插入日誌

中等 | 2023 年 3 月 20 日 | CVE-2023-20859

描述

在 Spring Vault 3.0.2 之前的 3.0.x 版本、2.3.3 之前的 2.3.x 版本以及更舊的版本中,當應用程式嘗試吊銷 Vault 批處理令牌時,應用程式容易受到將敏感資訊插入日誌檔案的攻擊。

具體來說,當以下所有條件都為真時,應用程式是脆弱的:

  • 身份驗證機制建立批處理令牌(Batch tokens)。
  • 在僅使用指令式程式設計的場景下使用 LifecycleAwareSessionManager
  • 應用程式或應用程式關機鉤子呼叫了 LifecycleAwareSessionManager.destroy()
  • LifecycleAwareSessionManagerorg.springframework.vault.authentication 的日誌級別至少設定為 WARN 或更詳細的日誌級別。
  • 令牌吊銷失敗,因為出現以下情況之一:
    • Vault 返回錯誤響應,表示批處理令牌無法吊銷。
    • 發生 I/O 錯誤。

如果以下任一條件為真,則應用程式不脆弱:

  • 應用程式在混合響應式/命令式或僅響應式程式設計的場景下使用 ReactiveSessionManager
  • 應用程式或應用程式關機鉤子從不呼叫 LifecycleAwareSessionManager.destroy()
  • LifecycleAwareSessionManagerorg.springframework.vault.authentication 的日誌級別設定為 ERROR 或更高,例如 OFF
  • 身份驗證機制建立服務令牌(Service tokens)。

受影響的 Spring 產品和版本

  • Spring Vault
    • 3.0.0 到 3.0.1
    • 2.3.0 到 2.3.2 及更舊版本
  • Spring Cloud Vault
    • 4.0.0
    • 3.1.0 到 3.1.2 及更舊版本
  • Spring Cloud Config
    • 4.0.0 到 4.0.1
    • 3.1.0 到 3.1.6 及更舊版本

緩解措施

受影響版本使用者應採取以下緩解措施。

  • Spring Vault 3.0.x 使用者應升級到 3.0.2。當透過傳遞依賴使用 Spring Vault 時,請將 spring-vault-core 的依賴版本鎖定到 3.0.2
  • Spring Vault 2.3.x 使用者應升級到 2.3.3。當透過傳遞依賴使用 Spring Vault 時,請將 spring-vault-core 的依賴版本鎖定到 2.3.3
  • 所有其他使用者應使用服務令牌或將 org.springframework.vault.authentication.LifecycleAwareSessionManager 日誌記錄器的日誌級別提高到至少 ERROR

無需採取其他步驟。

已修復此問題的版本包括

  • Spring Vault
    • 3.0.2
    • 2.3.3

致謝

此問題由 Martin Kiesel 識別並負責任地報告。

參考資料

歷史記錄

  • 2023-03-20:首次釋出漏洞報告。

領先一步

VMware 提供培訓和認證,助您加速發展。

瞭解更多

獲取支援

Tanzu Spring 透過一次簡單的訂閱即可為 OpenJDK™、Spring 和 Apache Tomcat® 提供支援和二進位制檔案。

瞭解更多

近期活動

檢視 Spring 社群的所有近期活動。

檢視全部