重要なセキュリティ脆弱性が見つかりました
2021年12月23日 Stian Thorgersen 著
この投稿は1年以上前のものです。ブログ記事の内容は古くなっている可能性があります。
Keycloak バージョン 12.0.0 から 15.1.1 以前に、既存のユーザーアカウントを持つ攻撃者が、新規ユーザー登録が無効になっている場合でも、管理 REST API を介して新しいデフォルトユーザーアカウントを作成できる脆弱性 (CVE-2021-4133) が発見されました。
ほとんどの場合、新しく作成されたユーザーは自己登録ユーザーと同等であり、追加のロールやグループを受け取る能力はありません。しかし、再現が困難なものの、追加の権限につながる可能性のある経路もいくつか存在します。
すべてのユーザーに、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
全体をファイアウォールでブロックすることができます。