發現重大安全性漏洞
2021 年 12 月 23 日,作者:Stian Thorgersen
這篇文章發布至今已超過一年。部落格中的內容可能已過時。
在 Keycloak 12.0.0 版本至 15.1.1 版本之前發現了一個漏洞 (CVE-2021-4133),該漏洞允許任何擁有現有用戶帳戶的攻擊者,即使在停用新用戶註冊的情況下,也能透過管理 REST API 建立新的預設使用者帳戶。
在大多數情況下,新建立的使用者等同於自行註冊的使用者,並且無法獲得任何其他角色或群組的權限。但是,有些情況更難重現,但可能會導致額外的權限。
我們強烈建議所有用戶盡快升級至 Keycloak 15.1.1 或 16.1.0。Keycloak 16.0.0 也包含此修復程式,但如果您尚未執行此版本,我們建議直接升級至 16.1.0。
如果您無法升級,我們建議您暫時封鎖對使用者建立 REST 端點的存取權限,以減輕此問題。
bin/jboss-cli.sh --connect
/subsystem=undertow/configuration=filter/expression-filter=keycloakPathOverrideUsersCreateEndpoint:add( \
expression="(regex('^/auth/admin/realms/(.*)/users$') and method(POST))-> response-code(400)" \
)
/subsystem=undertow/server=default-server/host=default-host/filter-ref=keycloakPathOverrideUsersCreateEndpoint:add()
這將封鎖建立新使用者的所有嘗試,包括來自 Keycloak 管理控制台的請求,無論這些嘗試是否有效。
或者,可以使用防火牆封鎖路徑 /auth/admin/realms/.*/users
和方法 POST
,或者完全封鎖 /auth/admin
。