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')

カスタムユーザー ストレージ プロバイダーが属性自体を管理している場合は、カスタムストレージを確認して password および password-confirm 属性を削除する必要があります。

アップグレード

アップグレードする前に、変更点の完全なリストについては、移行ガイドを参照してください。