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')
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
属性を削除する必要があります。
アップグレードする前に、変更点の完全なリストについては、移行ガイドを参照してください。