OpenAMに脆弱性3件、最大CVSS10で修正版16.1.4あり
OpenAMで、セッショントークンの漏えい、自己登録を使った管理者権限の取得、SAMLの署名なし表明の受け入れという3件の脆弱性が公表されました。いずれも認証なしで攻撃できるとされ、修正版への更新を急ぎ、更新までは外部からの経路を絞ってください。
同じ発表の脆弱性 3 件
この記事でまとめた分です。発表元の告知には、ほかの脆弱性も載っていることがあります。
- CVE-2026-123551 重大 10.0
- CVE-2026-123549 重大 9.8
- CVE-2026-123550 重大 9.8
急ぎ度: 至急
3件ともCVSS v3が9.8以上で、うち1件は10の最高値、しかも認証なしのネットワーク越しに管理者権限へ届くため、修正版が出ている今は更新を最優先にすべきです。
関係があるか
OpenAMでシングルサインオン(SSO)やフェデレーションを運用し、サーバーにネットワークから到達できる組織が対象です。配下の業務アプリが認証をOpenAMに任せている場合は、アプリ側にも被害が及びます。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| OpenAM(openam-federation-library、openam-notifications-websocket、openam-server-only) | 14.0.0以上16.1.3以下。3件すべてが該当 | 16.1.4 |
| OpenAM | 14.0.0より前の版。CVE-2026-123549とCVE-2026-123550が該当し、通知用WebSocketのCVE-2026-123551は該当しない(14.0.0より前にはこのWebSocketがない) | 16.1.4 |
確かめ方
- 1運用中のOpenAMの版を、管理画面やデプロイしたパッケージのファイル名で確認する。16.1.4より前なら更新が必要です。
- 2リバースプロキシやロードバランサーの設定で、/openam/notificationsと /openam/ws/* に、エージェントのホスト以外から届くかを確認する。
- 3SAML v2.0のサービスプロバイダー設定で、WantAssertionsSignedがfalseになっていないか、ECP(PAOS)やHTTP-Artifactのバインディングを使っているかを確認する。
- 4旧式のセルフサービス用RESTエンドポイントやUser Self-Serviceによる自己登録が、外部から使える状態になっていないかを確認する。
何が起きたか
OpenAMに、認証を受けていない相手が他人のセッションや管理者の権限を手に入れられる脆弱性が3件公表されました。成功すると管理者を含む利用者として振る舞われ、OpenAMでシングルサインオンしている業務アプリにも被害が広がります。
- CVE-2026-123551: 通知用WebSocketから、稼働中の利用者や管理者のセッショントークンを認証なしで読み取られる(CVSS v3は10、v4は10)
- CVE-2026-123549: 自己登録で、登録できない属性を設定できてしまい、管理者グループに加わって全面的な管理権限を得られる(CVSS v3は9.8、v4は9.3)
- CVE-2026-123550: SAML v2.0のサービスプロバイダーが署名なしの表明を受け付け、偽造した表明で任意の利用者としてセッションを得られる(CVSS v3は9.8、v4は9.3)
CWEは、CVE-2026-123551がCWE-201、CVE-2026-123549がCWE-269、CVE-2026-123550がCWE-290です。
最も重いCVE-2026-123551は、2つの問題が重なっています。1つは、ポリシーエージェントに配るセッション通知に、セッション識別子(iPlanetDirectoryPro)がそのまま載っていることです。もう1つは、WebSocketに接続できるのはエージェントだけという確認が、旧Liberty ID-FFのエンドポイントを経由した内部転送で回避できることです。接続後は、内部用を含む任意のトピックも購読できました。
同じID-FFのエンドポイントには、ログイン、フェデレーション、ログアウトのあとに、リクエストにあるアドレスを検証せずに遷移先へ使う問題もあります。Cookieを使わない利用者向けのURL書き換えが有効な構成では、そのアドレスにセッショントークンが付きます。16.1.4はこの問題も塞ぎます。
GitHubの勧告は2026年10月22日付です。技術的な詳細と検証コードは、運用者が更新する時間を確保するため、当面公開されていないとのことです。
攻撃の流れ
-
1
OpenAMに到達
認証なしで、ネットワーク越しにOpenAMのポートへ接続します。
-
2
検証をすり抜け
通知用WebSocket、自己登録、SAMLの表明受け入れのいずれかで、本来の確認を回避します。
-
3
他人の権限を取得
利用者や管理者のセッション、または管理者グループの権限を手に入れます。
-
4
被害が拡大
SSO連携先アプリへの成りすましや、OpenAMの構成の乗っ取りへ進みます。
どう悪用されるか
3件とも、攻撃者はOpenAMにネットワークから到達できればよく、事前のログインは要りません。利用者に操作を求める必要もないとされています。
CVE-2026-123551には、攻撃者の側で用意できない条件が1つあります。接続を保っているあいだに、利用者(最悪の被害では管理者)がログインするかセッションに変化が起きることです。実運用では日常的に起きるうえ、接続は維持し続けられます。エージェント通知は既定で有効のため、フェデレーションやセルフサービスなどを設定していなくても、既定設定のまま該当します。
CVE-2026-123549は匿名のまま自己登録の経路を使って管理者グループに加わる手口で、CVE-2026-123550はWantAssertionsSignedがfalseのときに偽造した表明を送る手口です。
被害は、任意の利用者への成りすまし、管理者のセッション奪取、OpenAMの構成の乗っ取り、さらにOpenAMのサービスアカウントでのサーバー上のコマンド実行まで及びます。CVE-2026-123551は通信を受け取るだけで進むため、認証の失敗やアカウントのロックアウトが記録されず、乗っ取られた操作も本人のセッションと見分けがつきません。
今すぐやること
-
1
OpenAMの版を洗い出す
本番だけでなく、検証用や子会社、委託先が運用する分も含めて、16.1.4より前の版を探します。14.0.0より前の版も、2件が該当するため対象です。
-
2
16.1.4に更新する
更新前に、次の変更点を確認します。ID-FFのホスト型プロバイダーにRelay State URL Listが加わり、空のあいだは自分のデプロイ配下のURLにしか遷移できません。ID-FFのログイン後などに他のホストへ遷移させている場合は、そのホストを登録しないと、プロバイダーのホームページかログアウト完了ページに飛ばされます。web.xmlを独自に書き換えている場合は、16.1.4がAuthNFilter、AuthZFilter、JAXRPCRequestFilter、NotificationsWebSocketFilterのマッピングに加えた<dispatcher>要素を取り込みます。通知のクライアントは /agent/ のトピックしか購読できなくなります。
-
3
更新までの暫定措置を入れる
すぐに更新できないときは、回避策の欄にある経路の制限を、更新の前に適用します。
-
4
侵害の跡を調べる
修正版の公表前に攻撃されていた可能性があります。管理者グループに見覚えのないメンバーがいないか、最近の自己登録で作られたアカウントがないかを確認します。SAMLの署名なしの表明を受け付けていた構成では、想定外のセッション発行がないかも調べます。通知を盗み見る手口は認証の失敗が残らないため、更新後に既存のセッションを失効させ、再ログインを求めることも検討します。
-
5
自己登録とSAMLの2件の回避策を確認する
この2件の回避策は、OpenAMの公式勧告で確認します。SAMLでは、WantAssertionsSignedの設定値と、ECP(PAOS)とHTTP-Artifactバインディングの使用状況を見直す入口になります。
すぐ更新できないとき
更新までの暫定措置として、CVE-2026-123551向けに次の3つがあります。
- リバースプロキシ、ロードバランサー、ファイアウォールで /openam/notificationsと /openam/ws/* へのアクセスを、通知を受け取るエージェントのホストだけに絞る。最も直接的な緩和策です。
- エージェントが通知に依存していなければ、詳細サーバープロパティorg.forgerock.openam.notifications.agents.enabledをfalseにして、セッション識別子の配信自体を止める。この場合、エージェントはセッションやポリシー、構成の変更をキャッシュの期限切れで知ることになります。
- Liberty ID-FFのフェデレーションを使っていなければ、/openam/preLoginや /openam/postLoginなどの旧エンドポイントをリバースプロキシで遮断する。
これらはCVE-2026-123551の経路を塞ぐものです。自己登録とSAMLの2件は、更新が確実な対策になります。
背景
OpenAMは、企業のSSOやアクセス管理の入口になるオープンソースの認証基盤です。業務アプリの前にポリシーエージェントを置き、ログイン済みかどうかの判断をOpenAMに集めます。その分、OpenAMで他人のセッションや管理者権限を得られると、連携しているアプリすべてに入られることになります。
今回の3件は、セッションの配信、利用者の自己登録、SAMLの表明の検証と、層が別々の場所の不具合が、いずれも他人の権限を得るという同じ結果に行き着きます。どれか1つの経路を塞いでも、ほかの2つが残ります。1つの修正版で3件がまとめて直るため、部分的な対処で済ませず更新するのが確実です。
よくある質問
Q.パスワードを強くしたり変更したりすれば防げますか。
Q.自社でOpenAMを運用していなくても関係しますか。
まだ分かっていないこと
- CVE-2026-123549とCVE-2026-123550は、CVE記録が16.1.4より前としか示しておらず、どの版から該当するのか下限は公表されていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| OpenIdentityPlatformOpenAM |
14.0.0 以上 16.1.4 未満→ 16.1.4 |
16.1.4 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
OpenAM from 14.0.0 before 16.1.4 contains an information disclosure vulnerability that allows unauthenticated attackers to read live session tokens from the notification WebSocket. Attackers can bypass the agent-only check through an unvalidated internal forward on legacy Liberty ID-FF endpoints, collecting iPlanetDirectoryPro tokens to hijack user and administrator sessions.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- advisory nvd.nist.gov
- advisory github.com
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web github.com