トップ/記事一覧/WordPress人気プラグインが公式の更新でマルウェア配布 CVE-2026-11976
wordpress-plugin-update-supply-chain-cover-ja

WordPress人気プラグインが公式の更新でマルウェア配布 CVE-2026-11976

アクセス解析の定番プラグインMonsterInsightsの有料版が、更新ファイルの置き場を乗っ取られ、マルウェア入りの版を配っていました。異常に気づいて切り戻した先の版も汚染済み。同じ日にSupsysticの有料版3種でも同じ手口が確認され、計3件にCVE番号が付きました。更新ボタンを押しただけで感染します。

ニュース2026年8月7日公開 本日更新
目次
この記事のポイント

アクセス解析の定番プラグインMonsterInsightsの有料版が、更新ファイルの置き場を乗っ取られ、マルウェア入りの版を配っていました。異常に気づいて切り戻した先の版も汚染済み。同じ日にSupsysticの有料版3種でも同じ手口が確認され、計3件にCVE番号が付きました。更新ボタンを押しただけで感染します。

2026年8月7日、WordPressの拡張機能(プラグイン)をめぐる脆弱性が3件、まとめてCVE番号を与えられました。3件に共通するのは、欠陥の中身ではありません。プラグインを配っている経路そのものが乗っ取られ、正規の「更新」を当てたサイトにマルウェアが入ったという点です。

中心はMonsterInsights ProCVE-2026-11976、危険度10.0=満点)。アクセス解析をWordPressの管理画面で見られるようにする、定番のプラグインの有料版です。無料版だけで200万サイトが使っています。

起きたことはこうです。更新ファイルを置いてあるAmazonのクラウド上の保管場所(S3バケット)が乗っ取られ、配布中のバージョン10.2.2に class-system-check.php という不正なファイルが混ぜ込まれました。開発元は異変に気づいて一つ前の10.2.0へ切り戻します。ところが、切り戻した先の10.2.0にも同じものが入っていました

採番元であるWPScanの記録によれば、6月11日の一日のうちに3種類の亜種が観測され、3つとも同じ暗号鍵が使われていました。同一の攻撃者が、その保管場所への書き込み権限を握ったまま、日中ずっと中身を作り替えていたということです。安全なのは11.0.0以降です。

残る2件も同じ形です。Supsysticの有料版3種(CVE-2026-17032、危険度9.8)は、開発元の更新サーバーが乗っ取られて不正コード入りで配られました。Premium SEOCVE-2026-14812、危険度10.0)に至っては、そもそも最初から乗っ取り用に作られたプラグインでした。

なお、この日NVD(米国の脆弱性データベース)に登録されたWordPress関連の脆弱性は、拡張機能とデザインテンプレートを合わせて150件を超えます。ほとんどは「プログラムの書き方に穴があった」という通常の脆弱性で、修正版を当てれば終わります。この記事で扱うのは、そのどれとも種類が違う3件です。書き方の問題ではなく、届け方の問題だからです。

対象と対処の早見表

自分のサイトが該当するかを確認できるよう、3件を並べました。3件とも、対象は「お金を払って買った版」です。WordPress公式の配布所(WordPress.org)に置かれている無料版は、いずれも今回の対象ではありません。危険度は採番元のWPScanが付けた値で、8月7日時点でNVDには独自の評価が入っていません。

CVE番号対象主な用途汚染された版安全な版ログイン危険度
CVE-2026
-11976
MonsterInsights
Pro(有料版)
アクセス解析を
管理画面に表示
10.2.0
10.2.2
11.0.0 以降不要10.0
CVE-2026
-17032
Easy Google Maps
Pro(有料版)
地図の埋め込み1.6.91.7.0 以降不要9.8
CVE-2026
-17032
Photo Gallery
by Supsystic Pro
写真ギャラリー2.10.92.11.1 以降不要9.8
CVE-2026
-17032
Data Tables
Generator Pro
表の作成1.9.201.10.1 以降不要9.8
CVE-2026
-14812
Premium SEO検索対策
(を名乗る)
6.x / 30 / 36
37 / 38
なし
(削除する)
不要10.0

見てのとおり、5つとも「ログイン不要」です。攻撃者はIDもパスワードも要りません。プラグインの中に、攻撃者を通すための入口が最初から仕込まれた状態で届いているからです。

誰が狙い、何をして、何が失われるか

今回のような手口を選ぶのは、サイトを1件ずつ攻めるのをやめて、配っている側を1回だけ攻める攻撃者です。個々のサイトに穴を探して回るより、そのプラグインを使っている全サイトへ一度に届く経路を押さえるほうが、はるかに割に合います。今回のMonsterInsightsの件では、狙われたのはサイトではなく、開発元がAmazonのクラウドに置いていた更新ファイルの保管庫ひとつでした。

そこで何をするか。配布物に、管理者を勝手に作るための仕掛けを埋め込みます。表に出てこない管理者アカウントを用意し、そのIDとパスワードを外部へ送る。手口の細部は事案ごとに違います。MonsterInsightsに混ぜられたファイルは、URLに特定の文字列を付けるだけで認証を通す入口を作りました。6月にOptinMonsterなどで配られたコードは、サイトの管理者がログインしてくるのをじっと待ち、管理画面が開かれた瞬間にその権限を借りてアカウントを作る作りでした。入口の形は違っても、行き着く先は同じです

送り先も共通しています。tidio.cc ——チャットツールとして広く使われている tidio.com に一文字だけ寄せた、無関係のドメインです。通信ログを見ても、見慣れた名前に見えます。

失われるのは、サイトそのものです。管理者アカウントを持たれた時点で、記事の書き換えも、決済先の差し替えも、訪問者への別のマルウェア配布も可能になります。ネット販売をしているなら注文情報と配送先が、会員制なら会員名簿が、そのまま持ち出せる場所に置かれています。そして今回いちばん重いのは、この侵入が「怪しいサイトを踏んだ」結果ではなく、管理画面の更新ボタンを押したという、まったく正しい行動の結果だという点です。同じ構図はJavaScriptの定番部品axiosが乗っ取られた件や、検査ツールTrivyを起点に4つのOSSが10日で連鎖的に陥落した件でも起きています。

MonsterInsightsは、切り戻した先も汚染されていました

CVE-2026-11976: 更新ファイルの置き場そのものが乗っ取られた

危険度10.0。CVSSという10点満点の指標で、これ以上はありません。記号で書くと CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H。ネット越しに、難しい条件なしで、権限も利用者の操作もなしに成立し、被害がそのサイトの外側にまで及ぶ(S:C)という評価です。

乗っ取られたのは monster-insights.s3.amazonaws.com。MonsterInsights Proの更新ファイルが置かれていた、Amazonのクラウドストレージ上の保管場所です。攻撃者はここへの書き込み権限を得て、配布物に class-system-check.php を追加しました。名前だけ見れば「システム点検」の部品で、プラグインの中に紛れていて不自然ではありません。

問題はそのあとの動きです。開発元は配布中の10.2.2に異常を認めて、一つ前の10.2.0へ切り戻しました。障害対応としては教科書どおりの判断です。ところが10.2.0にも、同じ不正ファイルがすでに入っていました。攻撃者は、切り戻し先になるであろうバージョンまで先に汚染していたことになります。

WPScanの分析では、10.2.0に入っていた版がもっとも危険とされています。備わっていた機能は3つ。更新の仕組みそのものを乗っ取ること、消えない管理者アカウントを住み着かせること、そしてURLに特定の文字列を付けるだけで認証を素通りすることです。1つ目が効いている間は、正しいバージョンへ更新したつもりでも、攻撃者の用意した中身が降ってくる可能性があります。

6月11日のうちに、亜種が3種類観測されました。3つとも暗号化に同じ鍵(AES-256-GCM)を使っており、これが「複数の攻撃者ではなく1人(1組織)が、その日ずっと中身を作り替えていた」と判断された根拠です。NVDの記載は、報告時点で攻撃者がまだ保管場所への書き込み権限を保持していたと明記しています。

流出したAWSのアクセスキーは AKIA2QECJAQPPMAUL6XT。安全なのは11.0.0以降で、無料版の現行は11.1.2(7月29日更新)です。報告したのはMike Gozdiskowski氏で、後述のSupsystic の件も同じ研究者の報告です。

6月にあったOptinMonsterの騒動と、つながっています

ここで押さえておきたいのが、MonsterInsightsの立ち位置です。同社の会社紹介ページは、創業者をSyed Balkhi氏と記し、「姉妹ブランド」としてOptinMonsterWPFormsAll in One SEO、SeedProd、Duplicatorなどを並べています。採用ページの遷移先はAwesome Motiveです。WordPress界隈でも指折りの規模を持つ、ひとつのブランド群だと考えてください

数字で見るとこうなります。無料版の導入数だけで、WPForms 500万サイト、All in One SEO 300万サイト、MonsterInsights 200万サイト、OptinMonster 100万サイト。この4つを足すだけで1,100万サイトです。配布の経路がひとつ破られたときに届く範囲が、この規模になります。

このブランド群は、2026年6月に一度この件で報じられていますオランダのセキュリティ企業Sansecの調査BleepingComputerの報道によれば、OptinMonster・TrustPulse・PushEngageの3製品で、配信網(CDN)から配られるファイルが差し替えられていました。CDNとは、画像やプログラムを世界中に速く配るための中継網のことです。攻撃者は、Awesome Motiveのマーケティング用サイトが動いていたサーバーへ、別のプラグイン「UpdraftPlus」の既知の穴から入り、そこに保存されていたCDNの鍵を持ち出しています。プラグイン本体ではなく、宣伝用のサイトが入口でした

この入口に使われた穴は、読者のサイトにも入っている可能性があります。UpdraftPlusはサイトのバックアップを取るプラグインで、約300万サイトが使っています。該当するのはCVE-2026-10795(危険度8.1)で、1.26.4以前が対象、修正版は1.26.5です。現在の最新は1.26.6。ログインなしで認証をすり抜けられるもので、公開されたのは6月10日、その2日後にはこの攻撃で実際に使われました。米政府CISAの攻撃中リストには8月6日時点で収載されていませんが、使われた実績があるという点では、リストの有無より重いと言えます。今回の3件に当てはまらなかった方も、これだけは確認しておく価値があります。

当時仕掛けられたコードも、管理者のログインを待って隠し管理者を作り、その情報を tidio.cc へ送るものでした。設置される裏口はプラグイン一覧にも更新確認にも姿を見せないよう作られており、Sansecは「Content Delivery Helper」「Database Optimizer」という2つの偽名を確認しています。

目を引くのは、配られていた時間の短さです。Sansecの記録では、OptinMonsterとTrustPulseで不正なコードが配られていたのは金曜22時17分から22時42分(協定世界時)までの25分間。PushEngageだけは翌日の19時2分まで続きました。25分間、外部から読み込まれるファイルが差し替わっただけで、対象は100万サイト規模になります。自分のサイトのコードを一行も触っていなくても被害に入る、というのがこの手口の本質です。

今回CVE番号が付いたMonsterInsights Proの件は、送り先のドメインが一致しており、時期も6月11日〜12日でほぼ重なります。同じキャンペーンの一部とみるのが自然です。ただし違いもあります。6月に報じられたのはCDNから配られるJavaScriptの差し替えで、今回CVEが付いたのはプラグイン本体のPHPファイルが、正規の更新配布に混ぜ込まれていた件です。より深いところを踏まれています。

開発元は、S3が乗っ取られたことを公表していません

修正版の11.0.0は、6月17日に配られています。ところが公式の更新履歴で11.0.0の欄に書かれているのは、「各種の不具合修正と更新」の一行だけです。配布物にマルウェアが混ざっていたことも、その原因も、書かれていません。ブログにもお知らせにも、この件の報告は見当たりませんでした。

公式アカウントが6月12日に発信したのは、別件でした。

日本語訳

現在、攻撃への対処を行っています。第三者のウェブサイトからMonsterInsightsをインストールしないでください。フィッシングの試みが現在進行中です。

この告知が指しているのは、混乱に便乗した偽の更新メールです。「MonsterInsights 10.3.0 重要なセキュリティ更新」を名乗るメールが出回りましたが、10.3.0というバージョンは存在しません(10.2.2の次は11.0.0です)。記載されていた脆弱性番号も実在しないもので、誘導先はドメイン名の「i」を1文字増やした偽サイトでした。

受け取った側の反応も残っています。

日本語訳

MonsterInsightsの脆弱性について何か知っている人はいますか。これは迷惑メールに入っていました。送信元は noreply@mg.enviragallery.com。ダウンロードはzipファイルです。MonsterInsightsのウェブサイトは403 Forbiddenになっています。

公式サイトが応答しない中で、それらしい更新メールだけが届く——利用者から見えていたのはこの状態でした。フィッシングへの注意喚起は出ましたが、配布物そのものが汚染されていたという説明は、この時も、11.0.0が出たあとも、ありませんでした

Supsysticの有料版は、偽の更新を自分から取りに行かされました

CVE-2026-17032: 合言葉ひとつで命令が通る

危険度9.8。対象はSupsysticという開発元が売っている有料版3種で、地図のEasy Google Maps Pro(1.6.9)、写真のPhoto Gallery by Supsystic Pro(2.10.9)、表作成のData Tables Generator Pro(1.9.20)です。こちらも入口は開発元の更新サーバーで、そこが乗っ取られて不正コード入りのまま配られました。

仕込まれていた機能をWPScanの記録から挙げると、次のようになります。

まず合言葉による命令実行。ウェブの通信に X-Forwarded-Validation: supsystic-cdn-82a7 という決まった一行を添えて送るだけで、サーバー上で好きな命令が動きます。ログインは要りません。次に認証の素通り。決められた合言葉を示せば、パスワードなしで管理者として入れます。さらに管理者アカウントの自動生成。作られるIDとパスワードはサイトの設定から機械的に決まる仕組みで、攻撃者は事前に計算しておけます。加えて、サイトのURL・サーバーのIPアドレス・各種バージョンが攻撃者側へ送られていました。

いちばん厄介なのは、居座るための仕掛けです。プラグインの自動更新の宛先が、攻撃者の用意した配布先へ向けられていました。掃除したつもりでも、次の自動更新でまた同じものが戻ってくる。MonsterInsightsの10.2.0に入っていた「更新の仕組みを乗っ取る」機能と、狙いは同じです。

修正版は1.7.0 / 2.11.1 / 1.10.1。この件がWPScanに登録されたのは7月24日で、CVE番号が付いたのが8月7日です。無料版(Easy Google Maps 2万サイト、Photo Gallery 2万サイト、Data Tables Generator 1万サイト)は対象ではありません

ここでも、公表はありませんでした。Supsysticの公式サイトにも、WordPress公式のサポート掲示板にも、この件の説明は見当たりません。残っているのは、無料版3本の更新履歴に並んだ一行だけです。7月30日から31日にかけて、Easy Google Maps 1.13.0Photo Gallery 1.17.1Data Tables Generator 1.13.1が相次いで更新され、いずれにも同じ文言が書かれています。

Added further security hardening and unofficial version detected
(さらなるセキュリティ強化を追加、および非公式バージョンを検知)

「非公式バージョンを検知」——汚染されたビルドを見分ける処理を足した、と読めます。ですが、何が起きたのかも、誰が対象なのかも、どう確かめればいいのかも書かれていません。利用者がこの一行から今回の件にたどり着くことは、まずできません。

「Premium SEO」は、最初から乗っ取るためのプラグインでした

CVE-2026-14812: 修正版は存在しません

危険度10.0。ただしこれは、他の2件とは性質が違います。「脆弱性が見つかった」のではなく、そのプラグイン自体が乗っ取り用に作られていたというものです。WPScanのErwan LR氏の記録は、この製品を端的に「悪意あるプラグイン」と分類しています。

「Premium SEO」(作者名義はWeb SEO Services)は、WordPress公式の配布所には存在しません。どこから配られていたのかは、WPScanの記録にも書かれておらず分かっていません。分かっているのは、これが公式の配布所を通らずに入ってきたものだ、という一点です。該当するのはビルド6.x / 30 / 36 / 37 / 38。全バージョンで隠し管理者の作成とコンテンツの埋め込みができ、6.x系以降ではサーバー上での命令実行、内部ネットワークへの探り、サーバー情報の吐き出しまで揃います。

名前について注意が必要です。「Premium SEO Pack」という、まったく別の正規のプラグインが存在します。WPScanもわざわざ注意書きを添えています。名前が似ているだけで、こちらは今回の件とは無関係です。混同して消してしまわないよう、フォルダ名が Premium-SEO かどうかで見分けてください。

手がかりははっきりしています。ファイルは wp-content/plugins/Premium-SEO/seo-automation.php。作られる管理者は resource_desk_ で始まるIDで、メールアドレスは wppremiumseoplugin@gmail.com。通信先は public.imagehosting.spacepublic1.imagehosting.space です。データベースには head_scripts_seocopyright_footer_linksseo_automation_owner_id といった設定値が書き込まれます。

修正版はありません。直す相手がいないからです。対処は削除と、植えられた管理者アカウントの削除、そして勝手に作られた誘導用ページやヘッダー・フッターに差し込まれたスクリプトの点検になります。更新して終わり、という話ではない点は3件に共通しています

なぜ有料版ばかりが狙われるのか

その前に、この話が日本でどれくらいの範囲に関わるかを押さえておきます。W3Techsの調査では、日本語で書かれたサイトのうち、使っているシステムが判明しているものの82.8%がWordPressです(2026年8月6日時点)。2位はShopifyの2.9%で、差は30倍近くあります。日本語のウェブサイトを作るということは、事実上WordPressを使うということに近い状態です。

今回の3件が全部「有料版」だったのは、偶然ではありません。WordPressのプラグインには、更新の届き方が2通りあります。

1つは公式の配布所(WordPress.org)経由。無料版はここに置かれ、更新もここから降ってきます。中身はコミュニティの目に触れ、配布用のサーバーもWordPress側が管理しています。もう1つが開発元が自前で用意した更新サーバー経由です。有料版は公式の配布所に置けないため、各社が自分でファイルを置き、自分でライセンスを確認し、自分で配ります。

後者は、数千社ぶんの配布基盤が、それぞれの会社の運用水準で、ばらばらに立っている状態です。守りの厚さは会社ごとに違います。今回の3件で踏まれたのは、Amazonのクラウド上の保管場所ひとつ、更新サーバーひとつ、そしてマーケティング用サイトに置きっぱなしになっていた鍵ひとつでした。本体のコードがどれだけ丁寧に書かれていても、それを配る経路が破られれば関係ありません

利用者から見ると、この差はほとんど見えません。管理画面には同じ「更新」ボタンが並び、無料版も有料版も同じ画面から同じ操作で更新されます。押した先が公式の配布所なのか、開発元の自前サーバーなのかは、画面には書かれていません。今回の件が不気味なのは、この見分けのつかなさです。

WordPress本体は、届いた更新ファイルが本物かを確かめていません

ここが、この話のいちばん奥にある事実です。WordPressは、ダウンロードしたプラグインのファイルが本物かどうかを、暗号的に検証していません。公式の配布所から来たものも、開発元の自前サーバーから来たものも、区別なくそうです。

仕組みそのものは、一度作られています。WordPress 5.2(2019年5月)で、配布物に電子署名を付けて検証する機能が入りました。電子署名とは、ファイルが配布元の手を離れたあとで書き換えられていないことを数学的に確かめる仕組みのことです。ところが当時から、開発に関わったParagon Initiativeが「テーマとプラグインには依然として署名がない」と書いています

その後どうなったか。現在のWordPressのソースコードには、検証に使う鍵の一覧としてこう書かれています。

if ( time() < 1617235200 ) {
  // WordPress.org Key #1 - This key is only valid before April 1st, 2021.
  $trusted_keys[] = 'fRPyrxb/MvVLbdsYi+OOEv4xc+Eqpsj+kkAS6gNOkI0=';
}

// TODO: Add key #2 with longer expiration.

数字の 1617235200 は、2021年4月1日を指します。その日を過ぎた時点で、信頼する鍵の一覧は空になりました。そして最後の行——「鍵その2をもっと長い有効期限で追加すること」というやり残しのメモが、5年たった今も残っています

2024年6月、WordPress側は検証そのものを止めました。その変更の記録には、理由がこう書かれています。「WordPress.org側で署名の仕組みが完全に実装されるまでは、少なくとも」無効にする、と。実際、いま配布物をダウンロードする関数は、署名を確認するかどうかの指定が false で固定されています。

確認できることは限られています。公式の配布所は、プラグインごとのファイル一覧とハッシュ値(ファイルの中身から計算される指紋のような値)を公開しています。ただしこれを見に行くのはコマンドライン版のWP-CLIだけで、WordPress本体の更新処理はここを一度も参照しません。そして自前配布の有料版には、そもそもこの一覧が存在しません。実際に確かめられているのは、通信が暗号化されている(HTTPS)ことだけです。その通信相手が乗っ取られていたら、暗号化は何も守りません。今回のMonsterInsightsの件が、まさにそれでした。

更新の「取りに行く先」は、プラグイン自身が書き換えられます

もう一つ、今回の2件で出てきた「更新の仕組みを乗っ取る」機能が成立する理由があります。

有料版が自前サーバーから更新を配るには、WordPressに「このプラグインの新版はここにあります」と教える必要があります。そのための入口が、公式に案内されている拡張点として用意されています。プラグインは、更新情報の一覧に自分の行を差し込み、ダウンロード先のURLを自由に書けるのです。これは不具合ではなく、有料版の商売を成立させるための正規の作りです。

裏返すと、一度サイトに入り込んだコードは、以後の更新をどこから取ってくるかを自分で決められます。Supsysticの件で「自動更新の宛先が攻撃者側へ向けられていた」のも、MonsterInsightsの10.2.0に「更新の仕組みを乗っ取る」機能があったのも、この作りを使ったものです。掃除したつもりが、次の自動更新で戻ってくるのは、こういう理屈です。プラグインを削除してから入れ直すことに意味があるのは、この経路を断ち切るためです。

同じことが、この2か月で3回起きています

今回が特異な事故だったのかというと、そうではありません。有料版の配布経路が乗っ取られる事案は、直近で立て続けに起きています

2026年6月、ShapedPluginという開発元の有料版3種に裏口が仕込まれました。汚染されたのはSmart Post Show Pro 4.0.1、Product Slider for WooCommerce Pro 3.5.2、Real Testimonials Pro 3.2.4で、修正版はそれぞれ4.0.2 / 3.5.3 / 3.2.5です。CVE-2026-10735、危険度9.8。配られたのは同社のライセンス管理サーバー経由で、公式の配布所にある無料版は無事でした報道によれば、持ち出されたのはデータベースの接続情報、管理者アカウント、メール送信の認証情報、そしてネット販売の注文データです。

この件の記録には、もう一行あります。WPScanは「報告したあと、開発元とは連絡が取れなくなった」と書いています。自前で配るということは、何かあったときに知らせる責任も自前で負うということです。その責任が果たされないとき、利用者には知る手立てがありません。

さらに遡れば2025年7月、Gravity Formsの公式サイトから配られていた2.9.11.1と2.9.12にマルウェアが混入していた件があります。ただしこの件では開発元が「自動更新で入れた人は影響を受けていない」と明言しており、汚染されたのは手動ダウンロードとComposer経由の分だけでした。当サイトでもGravity Formsの脆弱性はたびたび扱ってきました。2025年7月、2026年6月、そして今回。狙われているのは特定の会社ではなく、「有料版は各社が自分で配る」というWordPressの仕組みそのものです

なお、公式外から入れたプラグインは危険が判明しても管理画面に更新の通知が出ません。同じ理由で更新が届かない例は、8月5日に公表された24件のうちの3件にもありました。使っているライブラリやプラグインに既知の問題がないかは、依存関係を貼り付けるだけで照合できる無料ツールでも確認できます。

自分のサイトが感染していないかを調べる

3件とも、更新するだけでは終わりません。すでに入られていた場合、置き土産が残っています。順に見ていきます。

1. 利用者一覧を開く。 管理画面の「ユーザー」を開き、身に覚えのない管理者がいないかを確認します。名前がはっきりしているものから挙げます。Premium SEOなら resource_desk_ で始まるID、またはメールアドレスが wppremiumseoplugin@gmail.com のもの。6月のAwesome Motiveの件では、Patchstackの分析developer_api1(メールは customer1usx@gmail.com)という固定のIDと、dev_ のあとに乱数が続くIDの2種類を報告しています。これらに当てはまらなくても、作成日が6月11日以降で心当たりのない管理者は疑ってください。

2. ファイルを探す。 サーバー上で class-system-check.php(MonsterInsights Pro)、Premium-SEO/seo-automation.php(Premium SEO)があるか確認します。

3. 通信先を確認する。 サーバーの通信ログに tidio.ccimagehosting.space が出ていないか探します。tidio.cc は tidio.com とは無関係です。チャットツールのTidioを実際に使っているサイトでは見落としやすいので、末尾まで見てください。

4. 見えない裏口を疑う。 6月の件で設置された裏口は、プラグイン一覧に出ないよう作られていました。名前は「Content Delivery Helper」「Database Optimizer」。一覧に出ないため、サーバー上の wp-content/plugins/ をファイルとして直接見る必要があります。管理画面のプラグイン数と、そこに並ぶフォルダの数が合っているかを見比べるのが早道です。

5. パスワードを入れ替える。 認証情報が外部へ送られた前提で、管理者のパスワード、データベースの接続情報、外部サービスのAPIキーを取り替えます。

実際に攻撃されているのか

✓ 確認済みの事実

  • MonsterInsights Proの配布物に不正ファイルが混入していたこと、切り戻し先の10.2.0も汚染されていたこと(WPScan
  • 6月11日に3種類の亜種が観測され、同じ暗号鍵を共有していたこと(NVD
  • OptinMonster・TrustPulse・PushEngageで配信網のファイルが差し替えられ、Awesome Motiveが事実を認めていること(SansecBleepingComputer
  • Supsysticの有料版3種が更新サーバー経由で不正コード入りで配られたこと(WPScan
  • 3件とも、8月6日時点で米政府CISAの「実際に攻撃されている脆弱性リスト」(全1,661件)には入っていないこと

? まだ分かっていないこと

  • ?MonsterInsights Proの有料利用者数 ― 有料版の販売本数は公表されていません。無料版の200万サイトは今回の対象外です
  • ?汚染された版を実際に取得したサイトが何件あったか ― 開発元・研究者とも件数を出していません
  • ?攻撃者の正体 ― 特定の攻撃者グループへの帰属は、現時点でどの調査でも行われていません
  • ?MonsterInsights Proの件とSupsysticの件が同一の攻撃者によるものか ― 報告者は同じ研究者ですが、両者を結ぶ痕跡は公表されていません
  • ?攻撃者がいつ、どうやってS3の保管場所へ最初に入ったか ― WPScanにも記載がありません。CDNの件と同じくUpdraftPlus経由と考えるのは自然ですが、裏付けはありません
  • ?Premium SEOがどこで配られていたか ― 公式の配布所にないことは確かですが、配布経路を示す一次情報はありません

もうひとつ、記録として書いておくべきことがあります。MonsterInsightsも、Supsysticも、侵害の事実を利用者へ向けて公表していません。前者の修正版11.0.0の更新履歴は「各種の不具合修正と更新」の一行、後者は無料版の更新履歴に「非公式バージョンを検知」と書かれただけです。6月にCDNが差し替えられた件(OptinMonsterなど)については各ブランドが公式声明を出しており、対応が分かれています

整理すると、「不正なコードが実際に配られた」ところまでは確定しており、そこから先の被害規模が公表されていないという状態です。この種の攻撃は、仕掛けたコードが管理者のログインを待って動くため、感染していても表からは何も変わって見えません。件数が出ていないことは、被害がなかったことを意味しません

やるべきこと

まず、お金を払って買ったプラグインを一覧にしてください。今回の対象はすべて有料版です。MonsterInsights Proを使っているなら11.0.0以降へ、Supsysticの有料版3種なら1.7.0 / 2.11.1 / 1.10.1以降へ上げます。Premium SEOは削除してください。

次に、更新しただけで終わらせないでください。前節の5項目——利用者一覧、ファイルの有無、通信先、隠れたプラグイン、パスワードの入れ替え——を通してください。この3件はいずれも「入られたあと」の痕跡が残る型の攻撃です。

そして、公式の配布所を通さずに入れたプラグインに心当たりがあれば、出どころを思い出してください。開発元から直接買ったものなら、その開発元が今回のような事態を公表する用意があるかどうかまで含めて、預けている相手だということになります。出どころが思い出せないものは、消すほうが安全です。

サーバーにコマンドを打てる環境なら、公式の配布所から入れたプラグインについては、ファイルが書き換えられていないかを機械的に確かめられます。WP-CLIというコマンドライン用の道具に wp plugin verify-checksums --all という命令があり、公式が公開しているファイル一覧と手元のファイルを突き合わせてくれます。ただし有料版には使えません。突き合わせる先の一覧が公開されていないからです。今回の3件がまさにその領域にあった、ということでもあります。

運用として一つだけ変えるなら、公式の配布所の外から入れたプラグインの棚卸しを、定期の作業に入れることです。数を把握しておけば、今回のような報せが出たときに「自分が対象かどうか」を数分で判断できます。WordPress本体側の更新も忘れずに——本体には7月にログイン不要で乗っ取られる脆弱性が2件出ており、こちらは米政府の攻撃中リストに入っています。

まとめ

2026年8月7日、WordPressプラグインをめぐる3件にCVE番号が付きました。3件とも、穴を突かれたのではなく、配っている経路が乗っ取られた件です

MonsterInsights Pro(CVE-2026-11976、危険度10.0)は、更新ファイルを置いていたAmazonのクラウド上の保管場所を奪われました。配布中の10.2.2に不正ファイルが混ざり、異常を受けて切り戻した10.2.0にも同じものが入っていました。攻撃者は報告時点で書き込み権限を保持したままです。安全なのは11.0.0以降。Supsysticの有料版3種(CVE-2026-17032、9.8)は更新サーバーが乗っ取られ、自動更新の宛先まで攻撃者側へ向けられていました。Premium SEO(CVE-2026-14812、10.0)は、そもそも乗っ取り用に作られたプラグインで、公式の配布所を通らずに配られていました。修正版はありません。

対象はすべて有料版で、公式の配布所にある無料版は含まれません。有料版が狙われるのは、更新の配布を各社が自前で背負っているからです。管理画面の「更新」ボタンは同じ見た目でも、その先が誰の管理下にあるかは画面に書かれていません

そしてもう一段深いところに、WordPressが受け取った更新ファイルの真正性を検証していないという事実があります。署名を検証する仕組みは2019年に作られましたが、鍵の有効期限が2021年4月1日で切れたままで、ソースコードには「鍵その2を追加すること」というやり残しのメモが残っています。2024年6月には検証そのものが無効化されました。確かめられているのは通信の暗号化だけで、その通信相手が乗っ取られていれば意味を持ちません

同じ形の事案は続いています。2025年7月にGravity Forms、2026年6月にShapedPluginの有料版3種(CVE-2026-10735)。問われているのは個々の会社の落ち度ではなく、「有料版は各社が自分で配る」という仕組みの側です。そして今回の3件では、MonsterInsightsもSupsysticも、侵害があった事実を利用者に向けて公表していません

実際に攻撃されたという報告と、被害件数の公表は、いずれも現時点でありません。ただしこの型の攻撃は、管理者がログインするまで動かず、感染していても見た目は変わりません。更新を当て、そのうえで痕跡を確認するところまでが対処です

よくある質問

無料版のMonsterInsightsを使っています。対象ですか

対象外です。今回汚染されたのは有料版(MonsterInsights Pro)の配布物で、WordPress公式の配布所に置かれている無料版は別の経路で配られています。ただし同じブランド群のOptinMonsterなどは、6月に配信網のファイルが差し替えられた件の対象でした。WPFormsやAll in One SEOを含め、このブランド群のプラグインを使っているなら、隠し管理者の有無だけは見ておく価値があります。

自動更新をオフにすれば安全ですか

今回に限れば感染を避けられた可能性はありますが、勧められません。プラグインの脆弱性の大半は「更新していれば防げたもの」で、更新を止めるほうがはるかに危険です。今回のような件は、更新を止めることではなく、更新後に痕跡を確認する運用で対処してください。

危険度10.0とありますが、そんなに危ないのですか

中身としては満点相当です。ログインもパスワードも不要で、成立すればサイトの管理権限がそのまま渡ります。ただしこの数字は「対象のバージョンを実際に取得してしまった場合」の話です。対象は有料版の特定バージョンだけなので、まず自分が該当するかを早見表で確かめてください。

6月の話なのに、なぜ今CVE番号が付いたのですか

研究者の報告と番号の採番は別の手続きだからです。MonsterInsightsの件はWPScanに6月11日、Supsysticの件は7月24日に登録されており、8月6日〜7日にまとめてCVE番号が振られました。事象が新しくなったのではなく、追跡できる番号が今ついた、という順序です。

tidio.cc とは何ですか。Tidioを使っているのですが

チャットツールのTidio(tidio.com)とは無関係の、攻撃者が用意したドメインです。見慣れた名前に一文字寄せることで、通信ログを眺めたときに違和感を持たれないよう狙ったものとみられます。Tidioを正規に使っているサイトほど見落としやすいので、末尾が .cc.com かを確認してください。

安全なバージョンに上げれば、それで終わりですか

終わりません。MonsterInsightsで異常を受けて切り戻した10.2.0が、すでに汚染されていたことを思い出してください。「配布元が正しいと考えていたバージョン」が正しいとは限らないのが、この種の攻撃です。加えて、汚染版が動いていた間に管理者アカウントが作られていれば、更新してもそのアカウントは残ります。番号を上げたうえで、本文の「感染していないかを調べる」の5項目まで通してください。

WordPressは、更新ファイルが本物かを確認していないのですか

していません。電子署名で検証する仕組みは2019年のWordPress 5.2で作られましたが、当時からプラグインとテーマは対象外でした。さらに検証に使う鍵の有効期限が2021年4月1日で切れ、2024年6月には検証処理そのものが無効化されています。公式の配布所にあるプラグインについてはファイルの一覧が公開されており、WP-CLIの wp plugin verify-checksums で突き合わせられますが、WordPress本体の更新処理はそこを見に行きません。

更新したのに、また同じものが戻ってきます

Supsysticの件とMonsterInsightsの10.2.0の版には、更新の取得先を攻撃者側へ向ける機能が入っていました。この状態だと、正しいバージョンへ更新したつもりでも攻撃者の用意した中身が降ってきます。プラグインを一度完全に削除してから、開発元の管理画面で改めて最新版を取得し直してください。

参照元

avatar-m-1

堀川 慎

Backend Engineer / AWS / Django / Go