CVE-2022-22976: BCrypt 在工作因子為 31 時跳過鹽輪次

中等 | 2022 年 5 月 17 日 | CVE-2022-22976

描述

Spring Security 5.5.x 系列(5.5.7 之前版本)、5.6.x 系列(5.6.4 之前版本)以及更早的不受支援版本包含一個整數溢位漏洞。當 BCrypt 類使用最大工作因子 (31) 時,由於整數溢位錯誤,編碼器不執行任何鹽值輪次。

預設設定不受此 CVE 影響。

僅在 BCryptPasswordEncoder 配置了最大工作因子的情況下才會受到影響。由於當前計算機硬體的限制,使用如此高的工作因子在計算上是不切實際的。

您需要使用工作因子為 31 的 BCrypt 才能受到影響。您可以使用以下緩解工具檢查您的密碼是否受到影響。

受影響的 Spring 產品和版本

  • Spring Security
    • 5.5.x 5.5.7 之前
    • 5.6.x 5.6.4 之前
    • 更早的不受支援版本

緩解措施

在更新到最新版本之前,請更新您的 BCryptPasswordEncoder 以使用較少的輪次。在撰寫本文時,OWASP 建議值為 10。

然後,使用上述引用的緩解工具更新您的密碼雜湊。

更新密碼雜湊後,您應該按照以下方式更新您的版本:5.5.x 使用者應升級到 5.5.7,5.6.x 使用者應升級到 5.6.4,或者使用者應升級到 5.7.0。升級 Spring Security 依賴項後,您應該建議受影響的使用者更改其密碼。

緩解措施常見問題解答也可在緩解工具中找到。

已修復此問題的釋出版本包括

  • Spring Security
    • 5.5.7
    • 5.6.4
    • 5.7.0

致謝

此問題由 Eyal Kaspi 發現並負責任地報告。

參考資料

歷史

  • 2022-05-17:首次釋出漏洞報告。

領先一步

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

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

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

檢視所有