Keycloak 22.0.3 发布

2023 年 9 月 12 日

要下载发行版,请访问 Keycloak 下载.

发行说明

通过模板注册或更新用户时的安全漏洞

Keycloak 22.0.2 中引入了安全漏洞。我们强烈建议不要升级到 22.0.2,并且对于已在生产环境中部署 22.0.2 的任何人,请立即升级到 22.0.3。

对于在将 Keycloak 升级到 22.0.2 后进行自我注册的用户,其密码未被安全存储,并且可能会被 Keycloak 管理员暴露。这仅影响升级后注册的用户,不影响任何先前注册的用户。

使用预览声明式用户配置文件的任何领域不受此问题影响,只有使用默认用户配置文件提供程序的领域受影响。

要确定您的部署中是否有任何受影响的用户,您可以通过访问数据库并运行以下 SQL 语句来查询它们

SELECT DISTINCT U.ID, U.USERNAME, U.EMAIL, U.REALM_ID FROM USER_ENTITY U
    INNER JOIN USER_ATTRIBUTE UA ON U.ID = UA.USER_ID
    WHERE UA.NAME IN ('password','password-confirm')

我们建议联系任何受影响的用户,并为他们添加更新密码所需的行动。

如果有任何受影响的用户,我们还建议通过运行以下 SQL 语句从数据库中删除这些属性

DELETE FROM USER_ATTRIBUTE UA WHERE UA.NAME IN ('password','password-confirm')

如果在 22.0.2 版本发布后对数据库进行了任何备份,并且有受影响的用户,我们建议删除这些备份。

自定义用户存储提供程序

任何具有自定义用户存储联合提供程序的部署也可能受到影响,请验证您的自定义用户存储以确定这是否是一个问题。

如果用户存储提供程序将属性管理委托给 Keycloak,要确定您的部署中是否有任何受影响的联合用户,您可以通过访问数据库并运行以下 SQL 语句来查询它们

SELECT DISTINCT USER_ID,REALM_ID,STORAGE_PROVIDER_ID FROM FED_USER_ATTRIBUTE
    WHERE NAME IN ('password','password-confirm')

如果有任何受影响的联合用户,我们还建议通过运行以下 SQL 语句从数据库中删除这些属性

DELETE FROM FED_USER_ATTRIBUTE UA WHERE UA.NAME IN ('password','password-confirm')

如果您的自定义用户存储提供程序本身管理属性,您应该查看您的自定义存储以删除 passwordpassword-confirm 属性。

升级

在升级之前,请参考 迁移指南以获取更改的完整列表。