本文へ移動
情シスのミカタ
ニュース約6分で読めます

Keycloakの脆弱性5件は6月に修正済み、26.6.4より前は更新を

10月29日にGitHubのデータベースへ載ったKeycloakの勧告5件は、6月の26.6.4で直った古い脆弱性です。通知を閉じてよい版と、アプリの部品を別に上げる手順が分かります。

公開 情シスのミカタ編集部AIにより執筆編集部が確認:
文字
Keycloakの脆弱性5件は6月に修正済み、26.6.4より前は更新を

この記事のまとめ

  • 5件の修正は6月26日の26.6.4に入っており、26.6.4以降は対応済み
  • アプリのポリシーエンフォーサーは26.0.10が修正版で、サーバーとは別に上げる
  • 26.6.4より前のサーバーは、JWTの取り違えによる認証のすり抜けも残る
こんな方に#30代#40代#50代実務

GitHubやDependabotから、Keycloakの脆弱性の通知が急に届いた会社があるかもしれません。きっかけは、10月29日にGitHubの脆弱性のデータベースへ、Keycloakの勧告5件が登録されたことです。ただし、5件とも新しい穴ではなく、修正は4か月前の6月26日に出たKeycloak 26.6.4に入っています。

Keycloakの公式サイトの『Keycloak 26.6.4 released』(2026年6月26日)のSecurity fixesの一覧。CVE-2026-9099 グループの管理者からレルムの管理者への昇格、CVE-2026-9083 任意のファイルのパスの探りによる情報の漏えい、CVE-2026-9086 大文字と小文字を区別しないURIの検証のすり抜けによるXSS、CVE-2026-9705 登録用のトークンで止めたクライアントを動かし直して乗っ取る、CVE-2026-9795 スコープの割り当ての不備による権限の昇格、CVE-2026-9799 UMAの許可のチケットのすり抜け、CVE-2026-9800 ポリシーエンフォーサーのURIの比べ方の誤りによる認可のすり抜け、CVE-2026-11800 JWTのアルゴリズムの取り違えによる認証のすり抜け
Keycloak 26.6.4の告知。6月26日の時点で8件を修正していた出典: Keycloak「Keycloak 26.6.4 released」(引用)

26.6.4以降(26.7系や、10月13日に出た最新の26.8.1を含む)なら、サーバーの側に残る作業はありません。確かめたいのは、6月から版を上げていないサーバーと、アプリに組み込んだ「ポリシーエンフォーサー」の2つです。

6月に直り、10月にデータベースへ

時期を並べると、今回の通知の意味が分かります。

日付 出来事
2026年6月25日 Red HatがRed Hat build of Keycloakの26.4.13と26.6.4で修正。GitHubのデータベースには、修正版の記載のない重複の勧告が載る
2026年6月26日 コミュニティ版のKeycloak 26.6.4が公開。修正した脆弱性は8件
2026年6月27日 Keycloakが自身のリポジトリーで勧告を公開(GHSA-f5p5-6xmx-p252など)
2026年10月29日 GitHubのデータベースが、修正版つきの5件を登録し、重複の勧告を取り下げ

GitHubの説明では、Dependabotはデータベースに新しい脆弱性が加わったときに通知を出します。だから編集部は、今回の通知の多くが10月29日の登録によるものとみています。通知を見たら、まず部品の版を見ましょう。26.6.4以降(ポリシーエンフォーサーは26.0.10以降)なら、その通知は閉じてかまいません。

5件の中身と、攻撃に要る立場

10月29日に登録された5件は次のとおりです。

CVE 中身 深刻度(CVSS 3.1) 攻撃に要る立場
CVE-2026-9800 ポリシーエンフォーサーが、アクセス拒否のページのパスを含むURLを取り違え、役割・スコープ・UMAの許可の確認をすべて通してしまう High(8.1) ログインできる利用者なら誰でも
CVE-2026-9086 リダイレクトURIの検証で、大文字と小文字を混ぜた「javascript:」「data:」を見逃し、Keycloakの画面でスクリプトが動く High(7.3) クライアントを管理する権限か、クライアント登録の入口に届くこと
CVE-2026-9705 以前に発行された登録用のトークンで、管理者が止めたクライアントを動かし直し、シークレットを作り直せる Medium(6.5) 古い登録用のトークンを持つ者
CVE-2026-9083 鍵の置き場所の設定に任意のパスを入れ、サーバーにどのファイルがあるかを探れる Medium(4.9) レルムを管理する権限
CVE-2026-9799 UMAの許可のチケットを1つ持つ利用者が、同じ種類の資源すべてに触れる Medium(4.6) ログインできる利用者(PERMISSIVEの設定など条件つき)
GitHubのKeycloakのリポジトリーのセキュリティの勧告GHSA-f5p5-6xmx-p252『Authorization bypass via incorrect uri comparison』。6月27日に公開。対象はKeycloakの26.6.4より前と、org.keycloak:keycloak-policy-enforcerの26.0.10より前で、修正版は26.6.4と26.0.10。深刻度はHighで8.1。説明は、ポリシーエンフォーサーで、ログインできる利用者なら誰でも、設定したアクセス拒否のページのパスをURLのパスかクエリーに含めると、役割・スコープ・UMAの許可の確認をすべてすり抜けて、守られた資源に触れられるというもの
CVE-2026-9800の勧告。リポジトリーでの公開は6月27日出典: Keycloak(GitHub)「GHSA-f5p5-6xmx-p252」(引用)

いちばん重いCVE-2026-9800は、Keycloakのサーバーではなく、アプリの側に組み込む部品の脆弱性です。ポリシーエンフォーサーはJavaのアプリが使う部品で、Keycloakで決めた許可の規則に沿って画面やAPIを守ります。修正版は26.0.10で、サーバーとは番号の付け方が違います。

ここが見落としやすい所だと、編集部は考えます。サーバーを26.8に上げても、アプリが古いポリシーエンフォーサーを抱えたままなら、ログインできる人なら誰でも規則をすり抜けられるからです。サーバーの担当とアプリの担当が違う会社ほど、どちらも「上げた」と思い込みやすいでしょう。

26.6.4より前のサーバーは、ほかの3件も残る

26.6.4で直ったのは8件で、今回の5件のほかに3件あります。この3件は、6月から7月にかけてGitHubのデータベースへ載っていました。

CVE 中身 深刻度(CVSS 3.1)
CVE-2026-11800 JWT Authorization Grantで署名の確認をすり抜け、つないだIdPの利用者になりすませる。正しいクライアントの資格情報が要る High(8.1)
CVE-2026-9099 グループの管理者がレルムの管理者になれる High(7.7)
CVE-2026-9795 スコープの割り当ての確認の不備による権限の昇格 High(7.3)

つまり、26.6.4より前のサーバーには、今回の通知に出てこない認証のすり抜けも残っています。通知の5件だけを見て「管理者の権限が要るものが多いから後回し」と決めると、ここを取りこぼします。

Red Hat build of Keycloakを使う会社は、Red Hatの版で見ます。Red Hatのデータでは、26.4系は26.4.13、26.6系は26.6.4で、どちらも6月25日に直りました。古いRed Hat Single Sign-On 7は、CVE-2026-9800の修正の対象外(Out of support scope)です。

リダイレクトURIの検証は、今年3回目

CVE-2026-9086はリダイレクトURIの検証のすり抜けで、GitHubのデータベースで同じ種類の勧告を探すと、今年だけで3回目になります。

公開 CVE 中身 修正版
2026年4月 CVE-2026-3872 「..;/」を使ったパスのすり抜けで、ワイルドカードの許可を越える 26.5.7
2026年5月 CVE-2026-7504 URLの利用者情報の部分(@)の解釈の違いで、ワイルドカードの許可を越える 26.6.2
2026年6月 CVE-2026-9086 大文字と小文字を混ぜた「javascript:」「data:」を見逃す 26.6.4

4月と5月の2件は、「有効なリダイレクトURI」にワイルドカード(*)を使う設定が条件でした。一方、今回の1件は、登録するURIそのものに危ない書き方を入れる手口です。検証の仕組みは毎回直されていますが、すり抜け方は毎回違います。だから編集部は、検証に頼るより、登録できるURIを絞る設定のほうが確実だとみています。ワイルドカードを使わずにURIを1つずつ書き、クライアントを登録できる人と入口を限っておけば、次の修正を待つ間も被害を受けにくくなるはずです。

影響するかと急ぎ度は、組み込み方で分かれる

使い方 急ぎ度 やること
Javaのアプリでポリシーエンフォーサーを使う 今日 部品の版を見て、26.0.10より前なら上げる日を決める
Keycloakのサーバーが26.6.4より前 今日 版を確認し、最新の26.8.1へ上げる日を決める。JWT Authorization Grantを使っていれば最優先
Red Hat build of Keycloakの26.4.13より前・26.6.4より前 今日 Red Hatの修正版へ上げる日を決める
サーバーが26.6.4以降で、ポリシーエンフォーサーを使わない 対応済み 届いた通知を確かめて閉じる
製品に組み込まれたKeycloakを使う 製品の提供元しだい 提供元に、組み込んだ版と修正の予定を聞く

ポリシーエンフォーサーと26.6.4より前のサーバーをどちらも「今日」にしたのは、どちらもログインできる利用者やクライアントの資格情報を持つ者から、権限の確認をすり抜けられるからです。サーバーの側のCVE-2026-11800は、JWT Authorization Grantを使っていなければ当たりませんが、使っているかの確認に時間はかかりません。

版を確かめて、登録の入口を絞る手順

  1. Keycloakの管理画面の「サーバー情報」で、サーバーの版を確かめます。委託先が運用していれば、版と最後に上げた日を聞きましょう。
  2. Javaのアプリの依存関係から、keycloak-policy-enforcerの版を探します。Mavenなら依存関係の一覧で、GitHubを使っていればDependabotの通知の画面でも見られます。26.0.10より前なら、アプリの担当と上げる日を決めます。
  3. 26.6.4より前のサーバーは、移行の手引きを読んでから、最新の26.8.1へ上げます。間の版も含めた変更点を、検証の環境で先に試します。
  4. 各クライアントの「有効なリダイレクトURI」にワイルドカードが無いかを見て、あれば1つずつのURIに書き換えます。
  5. クライアントの登録の入口(動的なクライアント登録)を使っていないなら止め、使うなら、登録できる相手を信頼するホストの設定で絞ります。止めたクライアントがある場合は、古い登録用のトークンが残っていないかも確かめます。

よくある質問

QGitHubやDependabotから急に通知が来ました。いま攻撃されているのですか。

A通知のきっかけは、10月29日にGitHubの脆弱性のデータベースへ5件が登録されたことです。修正版は6月から出ており、どの勧告にも悪用の記載はありません。通知が出た部品の版を見て、26.6.4(ポリシーエンフォーサーは26.0.10)以降なら閉じてかまいません。

QRed Hat build of Keycloakを使っています。どの版なら直っていますか。

ARed Hatのデータでは、26.4系は26.4.13、26.6系は26.6.4で、どちらも2026年6月25日に修正されています(RHSA-2026:30049・30083など)。CVE-2026-9800は、8月5日の26.4.14でも出し直されています。

出典・参考

編集部が確認:。確認した監修者は、この下に載せています。

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(解説)

法令・官公庁の発表・企業の公式発表などの一次情報を調べて、情シス向けの解説・比較・テンプレの記事を書きます。数字と日付は出典と照らして確かめ、記事の最後に出典を載せています。使っているAI: Anthropic Claude。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が一次情報を調べて書き、機械の検査を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします