Red Hat 與 Keycloak 專案已發布修補程式,以解決開源身份與存取管理伺服器中的一項嚴重安全漏洞。此漏洞可能允許未經驗證的遠端攻擊者透過強制密碼重設來接管任何使用者帳號。
此漏洞的 CVE 識別碼為 CVE-2026-18963,Red Hat(作為該漏洞的 CVE 編號機構)在 CVSS 評分系統中將其評為 9.1 分。它被歸類為「忘記密碼時的弱密碼恢復機制」(CWE-640)。
建議使用上游 Keycloak 的使用者更新至 2026 年 8 月 19 日發布的版本 26.7.2;而執行 Red Hat Keycloak 版本(RHBK)的客戶應套用針對 26.4.15 和 26.6.6 發布的更新。
截至 2026 年 8 月 24 日,沒有證據顯示此漏洞已被利用,也未發現已知的公開利用程式。
Red Hat 在其 CVE 建議中表示,根本原因是「重設憑證(reset-credentials)驗證流程中的不當狀態驗證」,這是 Keycloak 在使用者請求密碼恢復時執行的序列。該公司評估此嚴重性為「嚴重」,因為未經驗證的遠端攻擊者可以在沒有任何使用者互動的情況下利用此漏洞。
根據 Red Hat 的錯誤報告,該缺陷在於流程狀態的管理方式。攻擊者向重設憑證端點發送一個特製的請求。驗證會話隨即直接轉移到密碼更新階段。Keycloak 通常透過電子郵件發送的動作令牌(action token)將不再需要。
成功利用此漏洞將導致攻擊者透過重設密碼來完全接管任何使用者帳號,「包括管理員帳號」。
逃逸研究員 Enzo Mongin 在談論他於七月披露的一項獨立 Keycloak 存取控制漏洞時表示,一旦攻擊者跨越伺服器的一個邊界,他們就不會停留在 Keycloak,而是「進入其後端的所有東西」。
Red Hat 於 2026 年 8 月 18 日發布了四項錯誤修正(RHSA-2026:56519、RHSA-2026:56520、RHSA-2026:56523 和 RHSA-2026:56524),涵蓋了獨立伺服器套件以及兩個 RHBK 串流的容器映像。已修復的版本如下:
該漏洞的 GitHub 建議將受影響和已修補的版本均列為未知,而 CVE 記錄僅包含 Red Hat 產品參考。
最初的 CVE 記錄將 Red Hat Single Sign-On 7 列為不受影響,並將 Red Hat JBoss Enterprise Application Platform Expansion Pack 列為受影響。後來的修訂縮小了產品列表,而 NVD 的顯示也進行了截斷,因此兩者的目前狀態均未確定。
對於無法立即更新的部署,Red Hat 發布了一項臨時緩解措施:關閉所有領域(realm)的「忘記密碼」功能。在 RHBK 管理控制台中,該設定位於「領域設定」(Realm settings)>「登入」(Login)>「忘記密碼」(Forgot password)。Red Hat 表示,此設定必須套用到每個領域,並且客戶應盡快升級到已修復的版本。
CVE-2026-18963 是 Keycloak 26.7.2 版本說明中列出的八個已修復 CVE 之一。同一個版本還修復了 CVE-2026-15571,這是一個可預測的帳號連結雜湊,允許透過惡意 OpenID Connect (OIDC) 客戶端進行帳號接管。
兩週前,即 2026 年 8 月 5 日,Keycloak 26.7.1 發布了針對十二個 CVE 的修補程式,其中包括一個 SAML 身分提供者發起的代理登入,該登入繞過了僅連結限制,以及一個預設的動態客戶端註冊策略,該策略允許透過使用者屬性映射器進行角色偽造。
另外,Univention 在 8 月 20 日發布的一篇文章中表示,「Nubus 並不受此問題影響」,因為其 Keycloak 部署中未啟用忘記密碼功能。Red Hat 將此漏洞的報告歸功於 James Paremain。
沒有來源說明修復是否完全解決了該漏洞。
所有已發布的來源均未說明是否每個啟用忘記密碼功能的領域都可被利用,或者僅特定重設憑證流程配置才可被利用。