WordPressの人気SSOプラグイン『miniOrange SAML SSO』に緊急の脆弱性、パスワード不要で管理者を乗っ取られる恐れ CVE-2026-15013、5.4.4へ即更新を
WordPressのシングルサインオン用プラグイン『SAML Single Sign On – SSO Login』(miniOrange)に、緊急の脆弱性CVE-2026-15013が見つかりました。パスワードを持たない攻撃者が署名検証をすり抜けて管理者になりすまし、サイトを乗っ取れる恐れがあります。深刻度はCVSS 9.8、導入は1万サイト以上。修正版5.4.4への即更新と侵害チェックの手順を解説します。
目次
WordPressのシングルサインオン用プラグイン『SAML Single Sign On – SSO Login』(miniOrange)に、緊急の脆弱性CVE-2026-15013が見つかりました。パスワードを持たない攻撃者が署名検証をすり抜けて管理者になりすまし、サイトを乗っ取れる恐れがあります。深刻度はCVSS 9.8、導入は1万サイト以上。修正版5.4.4への即更新と侵害チェックの手順を解説します。
WordPressで社内システムなどのログインをまとめる人気プラグイン「SAML Single Sign On – SSO Login」(開発元:miniOrange)に、最高レベルに近い深刻度の脆弱性が見つかりました。パスワードを一切知らない攻撃者が、管理者アカウントになりすましてサイトを丸ごと乗っ取れる恐れがあります。米国立標準技術研究所のデータベースNVD(CVE-2026-15013)が2026年7月16日に公開しました。危険度はCVSSで10点満点中9.8(緊急)です。
このプラグインは世界で1万以上のサイトに導入されています。すでに修正版のバージョン5.4.4が公開されているため、影響を受けるバージョン(5.4.3以前)を使っている場合は、すぐに更新してください。この記事では、何が起きるのか、自分のサイトが対象かの調べ方、更新と侵害チェックの手順を順に説明します。
このプラグインは何をするもので、なぜ危ないのか
「SAML Single Sign On – SSO Login」は、WordPressのサイトに「シングルサインオン(SSO)」を追加するプラグインです。SSOとは、一度ログインすれば複数のサービスを続けて使える仕組みのことです。会社で使うMicrosoft(Entra ID/Azure AD)やGoogle、Okta、Keycloakといった認証サービスと連携し、社員が普段使っているアカウントでWordPressにログインできるようにします。企業の社内サイトや会員サイトでよく使われています。
この連携には「SAML」という規格が使われます。SAMLでは、ログインの正しさを証明するために電子署名を使います。認証サービス(IdPと呼ばれる本人確認の担い手)が「この人は確かに本人です」という証明書に署名を付けて送り、WordPress側はその署名を検証して「確かに正規のログインだ」と判断します。この署名の検証にすき間があると、偽のログインを本物と誤認してしまうことになります。今回はまさにその検証が破られる問題です。ログインの入り口を守る仕組み自体が突破されるため、被害は「サイトの完全な乗っ取り」に直結します。
何が起きるのか、脆弱性の中身
この脆弱性を突かれると、ログインに必要なパスワードもアカウント情報も持たない攻撃者が、正規の署名なしに「認証済み」を偽装し、任意のアカウント(管理者を含む)としてログインできてしまいます。まず概要を整理します。
| 項目 | 内容 |
|---|---|
| 対象プラグイン | SAML Single Sign On – SSO Login (miniOrange) |
| 導入サイト数 | 1万以上 |
| 深刻度 | 緊急(CVSS 9.8) |
| 攻撃の前提 | 不要 (ログイン前の第三者が実行可能) |
| 影響バージョン | 5.4.3 以前(全バージョン) |
| 修正版 | 5.4.4 |
| 実際の悪用 | 確認されていない |
CVE-2026-15013:署名の「検証方法」を攻撃者に選ばせてしまう
CVE-2026-15013は、電子署名の検証の甘さ(CWE-347)に分類される問題です。WordPress側は本来、あらかじめ設定した方法で署名を検証すべきですが、このプラグインの内部処理(mo_saml_cast_keyという部分)は、どの方式で署名を検証するかを、攻撃者が送りつけてくるログイン応答の中身から読み取ってしまいます。さらに、本来は本人だけが持つ秘密の鍵で検証すべきところを、誰でも入手できる公開情報を検証の鍵として流用してしまう作りになっています。この結果、攻撃者は正規の署名を持っていなくても、検証を通過する「偽の署名付きログイン」を組み立てられます。深刻度がCVSS 9.8(緊急)とされるのは、認証なしで管理者権限まで奪えるためです。技術的な仕組みは後述します。
誰が乗っ取れるのか
この脆弱性の怖さは、攻撃のハードルが極めて低いことにあります。誰がどう悪用できるのかを整理します。
狙えるのは、対象サイトのログインページにアクセスできる、認証前の第三者すべて(攻撃者)です。会員登録もパスワードも不要で、インターネットからログイン画面に到達できさえすれば試せます。
攻撃者はこの穴を使い、本物の署名なしで「正規のログイン」に見せかけた応答を作り、管理者本人になりすましてWordPressにログインします。いったん管理者として入られると、記事やページの改ざん、不正なプラグイン・悪意あるコードの設置、会員情報の抜き取り、他の利用者アカウントの操作まで、サイトでできることはほぼ何でもできてしまいます。
被害は、サイトを運営する企業・組織にとっては「入り口の鍵をかけたつもりが、鍵なしで管理室まで入られる」状態を意味します。サイトを利用する会員・社員にとっては、個人情報の流出や、乗っ取られたサイトを踏み台にした二次被害につながりかねません。現時点で実際に攻撃された報告は確認されていませんが、修正版が公開されると攻撃者は差分から手口を割り出すのが速いため、早い更新が肝心です。
自分のサイトは影響を受けるのか
影響を受けるのは、このプラグインのバージョン5.4.3以前を使っているサイトです。実質的に、修正版が出る前のすべてのバージョンが対象になります。プラグインを入れているかどうかは、WordPressの管理画面「プラグイン」一覧で「SAML Single Sign On – SSO Login」があるかを確認してください。バージョンも同じ画面で分かります。
| 状況 | 影響 | やるべきこと |
|---|---|---|
| 5.4.4 以降 | 影響なし (修正済み) | 対応不要 |
| 5.4.3 以前 (全バージョン) | 影響あり (乗っ取り可能) | 5.4.4へ即更新 |
| プラグイン未使用 | 影響なし | 対応不要 |
なお、miniOrangeはWordPress向けにSSO関連のプラグインを複数出しています。今回の対象はあくまで無料版の「SAML Single Sign On – SSO Login」です。名前が似た別のSSOプラグインを使っている場合も、この機会にそれぞれ最新版になっているかを確認しておくとよいでしょう。
対策:5.4.4へ即更新する手順
対策は、プラグインを5.4.4以降へ更新することです。手順は次のとおりです。
- WordPress管理画面の「プラグイン」→「インストール済みプラグイン」を開く
- 「SAML Single Sign On – SSO Login」に更新の通知が出ていれば「更新」を実行する
- 更新後、プラグイン一覧でバージョンが5.4.4以降になっていることを確認する
- すぐに更新できない事情がある場合は、一時的にプラグインを無効化してSSOログインを止める(社内の別のログイン手段を確保したうえで)ことも検討する
多数のサイトを管理している場合は、管理ツールで一括更新をかけたうえで、各サイトのバージョンが確実に上がったかを確認してください。認証の根幹に関わる更新のため、更新後に正規のSSOログインが問題なく通ることも合わせてテストしておくと安心です。
乗っ取られていないか確認する手順
認証を突破するタイプの脆弱性は、更新するだけでなく「すでに侵入されていないか」の確認も重要です。とくに公開から時間が経っているサイトや、ログイン画面がインターネットに広く開かれているサイトは、次の点を点検してください。
- 身に覚えのない管理者アカウントが増えていないか:「ユーザー」一覧で、管理者権限のアカウントを一件ずつ確認する
- 見慣れないプラグイン・テーマが追加されていないか:勝手に入れられた不正なプラグインは、裏口(バックドア)として使われることがある
- 直近のログイン履歴に不審なアクセスがないか:ログイン記録を残すプラグインやサーバーのアクセスログを確認する
- 投稿・固定ページ・テーマファイルが改ざんされていないか:不審なリンクやスクリプトが埋め込まれていないかを見る
不審な点が見つかった場合は、全ユーザーのパスワードとログイン用の鍵情報のリセット、不正アカウント・不正ファイルの削除、バックアップからの復旧などを検討してください。攻撃が実際に行われたかを知る手がかりになるため、点検の記録は残しておくとよいでしょう。ある脆弱性が「実際に攻撃されているか」は、米政府CISAの一覧でも公開されており、当サイトのCISA KEVダッシュボード(日本語版)で確認できます。
技術的に見ると、なぜ突破できたのか
SAMLの署名検証では通常、認証サービス(IdP)が自分だけが持つ「秘密鍵」で署名し、WordPress側は対になる「公開鍵」で検証します。秘密鍵はIdPしか持たないため、正規の署名はIdPにしか作れない——これが安全の前提です。
ところが今回のプラグインは、mo_saml_cast_keyの処理で、どの署名方式で検証するかを、送られてきたログイン応答(=攻撃者が用意できるデータ)に書かれたアルゴリズム名から読み取ってしまいます。ここで攻撃者が方式を「HMAC-SHA1」に指定すると、話が変わります。HMAC-SHA1は、署名と検証に同じ「共有の秘密」を使う方式です。プラグインはこのとき、本来は公開情報であるIdPの公開鍵を、そのまま共有の秘密として使ってしまいます。
公開鍵はその名のとおり公開されていて、誰でも入手できます。つまり攻撃者は、公開鍵を秘密として使ってHMAC-SHA1の「正しい署名」を自分で計算し、「管理者としてログイン成功」と書いた偽の応答に付けられます。WordPress側は同じ公開鍵で検証するので、この偽署名を本物と認めてしまいます。これは「検証に使う方式を攻撃者に選ばせ、非対称の署名を対称の署名にすり替える」という、いわゆるアルゴリズム混同(キー混同)と呼ばれる古典的かつ危険な手口です。修正版5.4.4では、検証方式を応答から読み取るのをやめ、サイト側の設定に従って正しく検証するよう改められています。
深刻度と悪用の状況
深刻度はCVSSで9.8、10点満点の「緊急(Critical)」に分類されます。認証が不要で、攻撃の難易度が低く、成功すれば管理者権限までまるごと奪えるため、最上位に近い評価です。今回のプラグインはログインという入り口そのものを担うため、脆弱性の影響がサイト全体に及びます。
一方で、現時点では実際に攻撃へ使われた形跡は確認されておらず、米政府CISAの「実際に攻撃されている脆弱性の一覧(KEV)」にも登録されていません。とはいえ、修正版がすでに公開されているため、攻撃者が修正内容から手口を逆算して悪用を試みる可能性は高まります。「悪用が確認されていない」ことは「安全」を意味しません。緊急度の高い脆弱性として、確認され次第すぐに更新すべきものです。なお、こうした「電子署名の検証の甘さ」は、先日公表された暗号ライブラリnode-forgeの署名偽造とも共通する弱点で、認証の土台を狙う攻撃として近年たびたび問題になっています。
よくある質問
Q. SSOを使っていなくても危ないですか。
A. このプラグインを有効にしていること自体が問題になります。SSOの設定を本格的に使っていなくても、5.4.3以前を有効化しているなら影響を受けます。使っていないなら、更新するか、無効化・削除してください。
Q. すぐに更新できません。何を優先すべきですか。
A. 認証を突破される緊急の脆弱性のため、更新が最優先です。どうしても難しい場合は、一時的にプラグインを無効化してSSOログインを止めることを検討してください。あわせて、身に覚えのない管理者アカウントが増えていないかを点検してください。
Q. 更新すれば、もう侵入されていても安全になりますか。
A. 更新は「これ以上の侵入」を防ぎますが、すでに作られた不正アカウントや仕込まれた裏口は残ったままです。更新に加えて、本記事の「乗っ取られていないか確認する手順」に沿った点検を必ず行ってください。
Q. 有料版・別のSSOプラグインも対象ですか。
A. 今回の対象は無料版の「SAML Single Sign On – SSO Login」(5.4.3以前)です。ただしSSOやログイン連携のプラグインは狙われやすいため、種類を問わず最新版に保つことをおすすめします。
まとめ
WordPressのシングルサインオン用プラグイン「SAML Single Sign On – SSO Login」に、緊急の脆弱性CVE-2026-15013が見つかりました。パスワードを持たない攻撃者が、署名の検証をすり抜けて管理者になりすまし、サイトを乗っ取れる恐れがあります。深刻度はCVSS 9.8で、認証不要・管理者権限奪取という最悪に近い内容です。導入サイトは1万以上に上ります。
やるべきことは、プラグインを修正版の5.4.4以降へすぐに更新することです。実際の悪用はまだ確認されていませんが、修正版の公開後は攻撃者が手口を割り出すのが速いため、猶予はないと考えてください。更新に加えて、身に覚えのない管理者アカウントの有無など、すでに侵入されていないかの点検も忘れずに行いましょう。
参照元

堀川 慎
Backend Engineer / AWS / Django / Go