2026年7月17日、世界のサイトの約4割で使われる大人気CMSに、これまでで最も危険な部類の欠陥が見つかりました。通称「wp2shell」。ログインもプラグインも特別な設定も不要で、公開されたサイトを外部から乗っ取れてしまう深刻な問題です。
この記事では、何が起きているのかを技術に詳しくない方にもわかるように整理し、そのうえで管理者が今すぐ取るべき対応までまとめます。
結論から先に
対象バージョンを使っているなら、記事を読み終える前でも構いません。まず管理画面でバージョンを確認し、7.0.2 / 6.9.5 / 6.8.6 以上へ更新してください。自動更新が有効でも「本当に上がっているか」を自分の目で確かめることが重要です。
ファクトチェック(確認済みの事実)
本稿は公式リリースと、独立行政法人 情報処理推進機構(IPA)の注意喚起を土台に記述しています。修正版の公開日、対象バージョン、攻撃手口の呼称は、各一次情報で表記の一致を確認しました。
あわせて、複数のセキュリティ企業による解析(Searchlight Cyber、GMO Flatt Security ほか)も突き合わせています。実際の悪用が報告されている点も、複数の情報源で裏付けが取れています。
「wp2shell」を3行で
- 2つの別々の不具合を鎖のようにつなぐと、外部の第三者が本体を丸ごと操れてしまう。
- ログイン情報も追加プラグインも一切不要。初期設定のままの標準的なサイトが対象になる。
- 危険度が高いため、運営元は異例の「強制自動更新」まで発動した。
wp2shell は、特定の1件の欠陥の名前ではありません。2つの不具合を組み合わせた「攻撃の手口」に付けられた通称です。単体ではそれほど怖くない2つが、つながった瞬間に一気に最悪級へ跳ね上がる。ここが今回の肝です。
脆弱性の中身をわかりやすく
組み合わされたのは、次の2つです。専門用語が出てきますが、イメージだけつかめれば十分です。
不具合その1:入力の取り違え(SQLインジェクション/エスキューエル・インジェクション)
記事一覧を取り出す内部処理で、「この投稿者を除外する」という指定に想定外の文字を混ぜられると、データベースへの命令文をこっそり書き換えられてしまう不備です。該当のCVE番号は CVE-2026-60137。バージョン 6.8.0 から存在していましたが、標準構成では外部から入力を届ける経路がなく、これ単体では攻撃できませんでした。
不具合その2:受付窓口の取り違え(REST API/レスト・エーピーアイ のバッチ処理)
複数の依頼を1回にまとめて送れる「まとめ窓口(バッチ)」の処理に不備があり、CVE-2026-63030 として報告されました。まとめて送った依頼のうち1件をわざと不正にすると、後続の依頼が「別の依頼のために用意された受付係」で処理されてしまう。結果として、本来なら弾かれるはずの権限チェックや型チェックをすり抜けられます。この窓口が新設された 6.9 以降で発生しました。
なぜ2つ揃うと危険か: 「その2」で門番を無力化し、外部からの入力を「その1」の弱点まで届ける。すると命令文の書き換えが成立し、最終的に外部から任意のプログラムを走らせる「リモートコード実行(RCE)」まで到達します。鍵の壊れた勝手口(その2)と、金庫の甘い錠前(その1)が同じ建物にあった、というイメージです。
どうやって発見されたのか
発見したのは Assetnote 傘下のリサーチャー、Adam Kues 氏です。報告は HackerOne を通じた責任ある開示の形で行われました。別の角度から同じ入力欠陥を報告した研究者も複数いたと公表されています。
今回とりわけ話題になったのが、発見にAI(大規模言語モデル)が使われた点です。研究者は OpenAI の推論モデルを解析に活用したと報じられており、機械的な突き合わせが人間の勘どころと噛み合った好例として、セキュリティ界隈で注目を集めました。守る側だけでなく探す側の道具立ても変わりつつある、という象徴的な一件です。
突破されると何が起きるのか
外部から任意のプログラムを走らせられる状態は、事実上サイトの支配権を奪われた状態です。想定される被害を並べると、深刻さがはっきりします。
- データベースの中身(会員情報や問い合わせ内容など)の抜き取り。
- ページの改ざん、詐欺サイトへの誘導や不正な広告の埋め込み。
- 見知らぬ管理者アカウントの大量作成による、居座り型の乗っ取り。
- サーバーを踏み台にした、他サイトへの攻撃や迷惑メール送信への悪用。
これは「起こるかもしれない」話ではありません。修正版の公開直後から実際の悪用が確認されており、国内でも保守中のサイトで見知らぬ管理者アカウントが数日おきに増えていた、という報告が上がっています。3連休をまたいだ時期と重なったこともあり、更新の遅れが被害拡大に直結しやすい状況でした。
影響を受けるバージョン
「乗っ取りまで到達する組み合わせ」が成立するのは 6.9 系と 7.0 系です。6.8 系は入力欠陥のみで、乗っ取りの連鎖は成立しません。自分がどの列にいるかを確認してください。
| 使用中のバージョン | 乗っ取り連鎖の成立 | 更新先の目安 |
| 6.8 より前 | 対象外 | 最新の安定版を推奨 |
| 6.8.0 から 6.8.5 | 連鎖せず(入力欠陥のみ) | 6.8.6 以上 |
| 6.9.0 から 6.9.4 | 成立(危険) | 6.9.5 以上 |
| 7.0.0 から 7.0.1 | 成立(危険) | 7.0.2 以上 |
| 7.1 ベータ(beta1 まで) | 成立(危険) | 7.1 beta2 以上 |
※ CVE-2026-60137(入力欠陥)は 6.8.0 から影響します。CVE-2026-63030(窓口の欠陥)は 6.9 で新設された処理に起因するため、6.8 系では乗っ取りの連鎖が成立しません。
対応方法 ── 今すぐやるべきこと
1. 根本対策:本体を修正版へ更新する
これが唯一の本質的な解決です。7.0 系は 7.0.2、6.9 系は 6.9.5、6.8 系は 6.8.6 へ更新します。運営元が対象サイトへ強制自動更新を有効化していますが、「上がっているはず」で済ませず、管理画面のダッシュボードで実際のバージョン表示を確認してください。複数サイトを預かっている場合は、1台ずつ全数チェックが安全です。
2. すぐ更新できない場合の一時しのぎ(緩和策)
やむを得ず更新を待つ間は、攻撃の入口である「まとめ窓口」への未認証アクセスを塞ぎます。あくまで応急処置で、更新の代わりにはなりません。防御機器(WAF/ワフ)で、次の入口を両方とも遮断するのが基本です。
- /wp-json/batch/v1
- rest_route パラメータで同じ窓口を指す別形式
遮断の際は、URLを正規化してから判定すること、受信メソッドを限定しないこと(上書き手口があるため)、サブディレクトリ設置なら該当パスも含めること、防御機器を迂回されない構成にすることを押さえます。防御機器を使えない場合は、この窓口への未認証アクセスだけを拒否する軽量プラグインを一時的に導入する手もあります。いずれも正規の連携処理に影響し得るため、更新完了後は速やかに元へ戻します。
3. すでに侵入されていないかの確認
更新前に攻撃を受けていた可能性があるなら、痕跡の確認を。目安になるチェックポイントを挙げます。
- 身に覚えのない管理者・利用者アカウントが増えていないか。
- まとめ窓口宛ての不審なアクセスがログに残っていないか。応答コードだけでは成否を判定できない点に注意。
- 設置した覚えのないファイルや、投稿内容の書き換えがないか。
痕跡が疑われる場合は、更新だけでは不十分です。パスワードの全面変更、不審アカウントの削除、バックアップからの復旧、必要に応じて専門業者による調査まで視野に入れてください。
IT小僧コラム:「単体では無害」が一番こわい
今回いちばん唸ったのは、2つの不具合それぞれが「単体では攻撃できない」レベルだった点です。入力の弱点は外部から届く経路がなく、窓口の弱点はそれ単体では致命傷にならない。ところが鎖でつなぐと最悪級になる。金融系のシステムに関わってきた感覚で言うと、これは権限分離(フォールト・アイソレーション)の設計思想がなぜ効くのかを、裏返しに教えてくれる事例です。
1つの入口が破られても被害が連鎖しないように、境界を細かく切り、それぞれで検証をやり直す。今回の欠陥は、まさにその「検証のやり直し」を窓口の取り違えで飛ばされた話でした。最小権限の原則と多層防御は、こういう組み合わせ攻撃の火種を1カ所に閉じ込めるためにあります。教科書的に聞こえても、現場で効くから残っているのだと再確認しました。
もう一点。発見の道具にAIが使われたのは象徴的でした。探す側の生産性が上がるということは、守る側の「更新が遅い」という怠慢が、これまで以上に短時間で突かれる時代になったということ。パッチ適用の速さそのものが、もはや防御力の一部です。更新を後回しにする言い訳は、年々通用しなくなっています。
まとめ
wp2shell は、初期設定のままの標準的なサイトすら乗っ取れる、実被害の出ている深刻な問題です。やるべきことは明快で、対象バージョンなら 7.0.2 / 6.9.5 / 6.8.6 以上へ今すぐ更新する。これに尽きます。強制自動更新が入っていても油断せず、実際のバージョンを自分の目で確認してください。すぐ更新できないなら入口の一時遮断で時間を稼ぎ、更新が済んだら元へ戻す。そして、更新前に狙われた可能性があるなら、痕跡の確認まで忘れずに。「あとで」を「今」に変えるだけで防げる被害です。