目次(5)

CVE-2026-122220
WordPress 用プラグイン WPO365 | LOGIN(wpo365-login)の 45.2 より前の版に、SAML 応答の再送(リプレイ)を防ぐ仕組みが働かない脆弱性 CVE-2026-122220 が公表されました。NVD への登録は 2026-11-04 で、状態は「Received」(NVD 自身の分析はまだ始まっていません)です。登録元は VulnCheck です。
何が起きるか
- このプラグインは、Microsoft Entra ID などと SAML で連携してサインインさせる機能を持っています。SAML の応答(SAMLResponse)には一意のメッセージ ID が付き、「一度使った ID は二度と受け付けない」ことで再送を防ぐのが普通です。
- 該当の版では、
Saml2_Service::check_message_id()が処理済みの ID をwpo365_saml_message_idsという一時保存領域に書き込む前に処理を終えてしまう論理エラーがあり、ID が保存されません。そのため重複の検査が一度も働きません。 - 正規に署名された SAMLResponse を入手した攻撃者は、アサーションの有効期間内であれば、ログイン受け口(ACS エンドポイント)へ繰り返し送って、被害者(管理者を含む)としてログインできる恐れがあります。重複検査が働かないので、再送として検知もされません。
- 入手のしかた(通信の傍受など)は NVD の記載にありません。署名の偽造は不要とされていますが、有効な応答を手に入れる必要があります。
数値と severity
- CVSS v4.0: 9.1(AV:N/AC:L/AT:P/PR:N/UI:N)、CVSS v3.1: 7.4(AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N)。評価者はどちらも VulnCheck(Secondary・Primary)です。弱点の種類は CWE-294(キャプチャ・リプレイによる認証回避)です。
- 二つの版で評価が分かれる理由は、有効な署名済み応答を先に入手する条件を、v4.0 が「攻撃の前提条件あり(AT:P)」、v3.1 が「攻撃の複雑さ高(AC:H)」として扱っているためです。認証そのものは不要です。
- 入手の前提があり、v3.1 では 9 未満のため、公開の基準では severity を high とします。管理者としてログインされると影響は大きくなります。
対策
- WPO365 | LOGIN を 45.2 以降へ更新する(NVD の影響範囲は 45.2 より前。修正を含む変更は NVD の参照先に WordPress プラグインの変更履歴(changeset 3783469)として挙がっています)。
- SAML 連携を使っているサイトは、更新後に管理者などの不審なログインがないか、ログインの記録を見直す。
- 更新までは、SAML 応答が通る経路(ブラウザと ACS の間)の暗号化を確認し、アサーションの有効期間が長すぎないか IdP 側の設定を見直す(一般的な対応で、ベンダーの指示ではありません)。
未確認の点
- 実際の悪用、攻撃コードの公開、EPSS、CISA KEV への掲載。
- 修正の中身(changeset と VulnCheck 勧告の本文は、この記事では開いていません)。
- 影響する設定の範囲(SAML 連携を有効にしたサイトだけが対象か)。NVD の記載から読み取れる範囲では、SAML のログイン受け口を使う構成が前提です。
- NVD の最終評価。
出典
- NVD: CVE-2026-122220
- VulnCheck: WPO365 | LOGIN before 45.2 SAML replay protection bypass
- WordPress.org: wpo365-login の変更履歴
- WordPress プラグイン変更履歴 changeset 3783469
この記事について
- 執筆・編集
- World Security 編集部
- AI の利用
- 本記事は AI が NVD などの公開情報をもとに作成しました。数値は取得時点(2026-11-05)のもので、未確認の点は本文に明記しています。
出典
- NVD CVE-2026-122220(NIST NVD)
- VulnCheck: WPO365 | LOGIN before 45.2 SAML replay protection bypass(VulnCheck)
- WordPress.org: wpo365-login(WordPress.org)
- WordPress プラグイン変更履歴 changeset 3783469(WordPress.org)



