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 的管理员。这仅影响在升级推出后注册的用户,不影响任何先前注册的用户。

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

要确定您的部署中是否有任何受影响的用户,您可以通过访问数据库并运行以下 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 属性。

升级

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