【緊急】WordPress脆弱性「wp2shell」とは?今すぐやるべき対策

はじめに:いま、最優先で確認すべきこと

2026年7月、WordPress の根幹(コア)に、極めて深刻な脆弱性が公表されました。
通称「wp2shell」と呼ばれるこの脆弱性は、ログインもプラグインも一切不要で、第三者があなたのサイト上で任意のプログラムを実行し、サイトそのものを乗っ取ってしまう危険性を持っています。

エックスサーバーをはじめとする大手ホスティング事業者が緊急の注意喚起と通信遮断措置を行い、WordPress.org 自身も「強制的な自動更新」を発動させるという、近年でも異例の対応がとられています。

もしお使いのサイトが以下のバージョンに該当する場合、この記事を読むよりも先に、まずバージョンの確認とアップデートに着手してください。

  • WordPress 6.9.0 〜 6.9.4
  • WordPress 7.0.0 〜 7.0.1

対策版は WordPress 6.9.5 および 7.0.2(旧サポート系統は 6.8.6)です。
本記事では、この「wp2shell」が一体どういう脆弱性なのか、なぜこれほど危険なのか、そして具体的に何をすればサイトを守れるのかを、公的な一次情報に基づいて整理して解説します。


1. 「wp2shell」とは何か?

「wp2shell」は、2026年7月17日〜18日にかけて明らかになった、WordPress コアに存在する脆弱性の総称(愛称)です。
名前は「WordPress(wp)から、サーバーを操作できるシェル(shell)を奪取する」という攻撃の帰結を表しています。

正式には、以下の 2つの脆弱性(CVE) を組み合わせる(チェーンする)ことで成立する攻撃手法を指します。

  • CVE-2026-63030:REST API のバッチ処理における「ルート混同」の脆弱性
  • CVE-2026-60137WP_Query における SQL インジェクションの脆弱性

単体でもそれぞれ危険な脆弱性ですが、これらを連鎖させることで、攻撃者は「認証不要のリモートコード実行(Unauthenticated RCE)」という、Web セキュリティにおいて最も深刻とされる状態を作り出せてしまいます。

1.1 なぜ「最悪クラス」なのか

セキュリティの世界では、脆弱性の深刻さを測る上でいくつかの観点があります。wp2shell はそのほとんどの条件で「最悪」に近い値を示しています。

  • 認証が不要(Pre-Auth):攻撃者は ID もパスワードも必要としません。ログイン画面を突破する必要すらありません。
  • 前提条件が不要:特定のプラグインやテーマが入っている必要はありません。プラグインを一切入れていない、インストールしたままの標準状態の WordPress でも成立します。
  • 影響が甚大(RCE):情報が盗まれるだけでなく、サーバー上で任意のコマンドを実行され、サイトの完全な支配権を奪われます。
  • 利用者が膨大:WordPress は全世界で 5 億以上のサイトで利用されており、標的の母数が桁違いに大きいことを意味します。

これらの理由から、各セキュリティベンダーは深刻度を 「Critical(緊急)」 と評価しています。
なお、深刻度スコア(CVSS)については評価機関によって判断が分かれており、CVE-2026-63030 に対して「9.8(Critical)」とする機関(WPScan など)もあれば「7.5(High)」とする機関(CISA-ADP など)もあります。数値には幅がありますが、「今すぐ対応すべき最優先事案」であるという点では各社の見解は一致しています。


2. 攻撃の仕組みを分かりやすく解説

「REST API」「SQL インジェクション」「ルート混同」といった専門用語が並ぶと難解に感じられますが、攻撃の流れ自体はシンプルです。ここでは仕組みを噛み砕いて説明します。

2.1 前提:REST API と「バッチ処理」

現在の WordPress は、「REST API」という窓口を通じて、外部から様々な操作を受け付ける仕組みを標準で備えています。ブロックエディターやスマホアプリ、外部サービス連携などがこの窓口を利用しています。

この REST API には「バッチ処理(batch)」という機能があります。
これは、本来なら複数回に分けて送る必要があるリクエストを、/wp-json/batch/v1 という窓口にまとめて一括送信できる便利な機能です。

2.2 脆弱性①:REST API の「ルート混同」(CVE-2026-63030)

問題は、このバッチ処理の内部にありました。
複数のリクエストをまとめて処理する際、「どのリクエストが、どの処理ルールに対応するのか」という対応関係がずれてしまう不具合が存在していたのです。

このズレを悪用すると、攻撃者は次のようなことが可能になります。

  • 本来アクセスできないはずのエンドポイント(機能)を呼び出す
  • パラメータの検証や型チェック、権限の確認をすり抜ける

つまり、「本来なら管理者しか触れないはずの機能」や「厳重にチェックされるはずの入力」を、チェックの網をかいくぐって送り込めてしまう「入口」が開いてしまった状態です。

2.3 脆弱性②:SQL インジェクション(CVE-2026-60137)

もう一つの脆弱性は、投稿などを検索する内部処理 WP_Query の中の、author__not_in(特定の投稿者を除外する条件)というパラメータに存在しました。
ここに攻撃者が細工した値を渡すと、データベースへの命令文(SQL)に不正な命令を紛れ込ませる「SQL インジェクション」が発生します。これにより、データベースの中身を不正に読み出したり操作したりできてしまいます。

2.4 チェーン:2つを繋いで「乗っ取り」へ

wp2shell の本質は、この2つを連鎖(チェーン)させる点にあります。

  1. 「ルート混同(①)」を利用して、権限チェックを回避しながら不正なリクエストを送り込む
  2. その中で「SQL インジェクション(②)」を発火させ、データベースを操作する
  3. 最終的に、サーバー上で任意のコード(プログラム)を実行できる状態=シェルの奪取に至る

こうして、ログイン情報を一切持たない第三者が、標準状態の WordPress サイトを丸ごと乗っ取れてしまう——これが「wp2shell」の全体像です。


3. 影響を受けるバージョンと修正版

自分のサイトが危険な状態にあるかどうかは、バージョン番号で明確に判断できます。以下の表で必ず確認してください。

WordPress のバージョン 状態 対応
7.0.0 〜 7.0.1 危険(RCEチェーン成立) 7.0.2 以降へ即更新
6.9.0 〜 6.9.4 危険(RCEチェーン成立) 6.9.5 以降へ即更新
6.8.0 〜 6.8.5 注意(SQLi の影響あり) 6.8.6 以降へ更新
7.0.2 / 6.9.5 / 6.8.6 以降 修正済み 対応不要(要確認)
6.8 より前のバージョン 影響なし ※ただし旧版自体が別のリスク

3.1 補足:6.8系の扱いについて

WordPress 6.8.0〜6.8.5 には、SQL インジェクション(CVE-2026-60137)につながる脆弱な処理が含まれています。
ただし、6.8 系の標準構成ではこの処理に外部から入力を届ける経路がないため、そのままの状態で即座に RCE チェーンが成立するわけではありません(プラグインやテーマの実装不備など、別の条件が重なった場合にリスクとなります)。
とはいえ「絶対に安全」とは言い切れないため、6.8 系をお使いの場合も 6.8.6 への更新が公式に推奨されています。

3.2 バージョンの確認方法

現在のバージョンは、以下のいずれかで確認できます。

  • WordPress の管理画面にログインし、ダッシュボードの右下、または「更新」画面で確認する
  • 管理画面 上部の「WordPress の新しいバージョンがあります」という通知を確認する

4. すでに攻撃は始まっている:悪用状況とタイムライン

この脆弱性が「理論上危険」なだけでなく「今まさに危険」である理由は、実際の攻撃コード(PoC / エクスプロイト)がすでに公開・流通している点にあります。

4.1 主なタイムライン

日付 出来事
2025年12月2日 WordPress 6.9 リリース。この時点で脆弱な処理が混入
2026年7月17日 WordPress.org がセキュリティリリース(7.0.2 等)を公開、CVE を修正。Cloudflare が全プランに WAF ルールを展開
2026年7月18日 GitHub 上で動作する攻撃コード(PoC)が公開。管理者アカウントを作成する機能まで追加される
2026年7月19日 大手ホスティング各社が注意喚起・通信遮断措置を実施。実際の悪用の初期兆候が報告され始める

4.2 「攻撃コードが出回っている」ことの意味

セキュリティ研究者からは「約6分で攻撃コードを再構成できた」との報告も上がっており、攻撃のハードルは極めて低い状況です。
一部のセキュリティ企業は自社の監視ログですでに悪用の試みを確認したと報告しています(一方で「まだ大規模な悪用は確認していない」とする機関もあり、見解には差があります)。

いずれにせよ、「攻撃の準備は完全に整い、実行が始まりつつある」というのが2026年7月時点の状況です。パッチ未適用のサイトは、時間との勝負になっていると考えるべきです。


5. ホスティング事業者の対応(エックスサーバーの例)

この深刻さを受け、国内の大手ホスティング事業者も緊急対応を行っています。

例えばエックスサーバーは、2026年7月19日に注意喚起を公表し、同日午前6時30分頃、サーバー側で REST API のバッチ処理エンドポイント(/wp-json/batch/v1)への通信を遮断する緊急措置を実施しました。これは、利用者がアップデートを完了するまでの「時間稼ぎ」として、攻撃の入口を塞ぐ対応です。

ただし、ここで重要な注意点があります。

ホスティング事業者の遮断措置は「一時的な緩和策」であり、根本的な解決ではありません。

サーバー側でエンドポイントが遮断されると、その機能を正規に利用していたプラグインやテーマ、外部連携、独自開発機能が一時的に動かなくなる副作用が生じる可能性があります。
そして何より、こうした措置はあくまで応急処置です。あなた自身が WordPress を修正版に更新することこそが唯一の根本対策である、という点を忘れないでください。


6. 今すぐやるべき対策(最優先)

対策の優先順位は極めて明確です。難しく考える必要はありません。

6.1 【最優先】WordPress を修正版に更新する

これがすべての基本であり、最も確実な対策です。

  1. WordPress 管理画面にログインする
  2. 「ダッシュボード」→「更新」を開く
  3. 表示されている最新版(7.0.2 / 6.9.5 / 6.8.6 以降)へ更新する

なお、今回の脆弱性は深刻度が非常に高いため、WordPress.org 側が影響バージョンに対して「強制的な自動更新」を有効化しています。多くのサイトはすでに自動で更新されている可能性がありますが、「自動更新されているはず」と過信せず、必ず自分の目でバージョン番号を確認してください。自動更新が何らかの理由で失敗しているケースも想定されます。

6.2 更新前には必ずバックアップを

メジャーな更新の前には、万が一に備えてサイト全体(ファイルとデータベース)のバックアップを取得することを推奨します。
ただし、今回のように悪用が現実化している緊急事態では、「バックアップに手間取って更新が遅れる」ことのほうが大きなリスクになり得ます。バックアップ環境がすぐに整わない場合でも、更新自体を先延ばしにしないでください。

6.3 すぐに更新できない場合の「緩和策」

サーバー環境や互換性の都合で、どうしても即時更新が難しい場合の一時的な緩和策も存在します(あくまで時間稼ぎであり、更新の代わりにはなりません)。

  • WAF(Web Application Firewall)の活用/wp-json/batch/v1 および ?rest_route=/batch/v1 へのアクセスを遮断する。Cloudflare は全プランで対応ルールを展開済みです。
  • REST API への匿名アクセスの制限:未認証ユーザーによる REST API 利用を制限するプラグイン等を導入する。
  • 緩和策プラグインの利用:脆弱性を発見したセキュリティ企業などが、暫定的な緩和策プラグインを公開しています。

7. 「すでに侵害されていないか」を確認する

パッチ適用が遅れた可能性がある場合、あるいは念のため確認したい場合は、以下の観点でサイトの状態をチェックしてください。

7.1 チェックすべき兆候

  • 身に覚えのない管理者アカウント:ユーザー一覧に、自分で作成した記憶のない管理者権限のアカウントが追加されていないか。今回の攻撃コードには「管理者アカウントを作成する機能」が含まれているため、特に重点的に確認します。
  • 不審なファイルの存在wp-content/ 配下などに、インストールした覚えのない .php ファイルや不自然なディレクトリがないか。
  • ファイルの改ざん:コアファイルやテーマファイルが、更新した覚えのないタイミングで書き換えられていないか。
  • 不審な通信・送信メール:サーバーから外部への不審な通信や、大量のスパムメール送信の形跡がないか。

なお、2026年7月時点では、公的機関から「侵害を断定するための明確な指標(IoC)」はまだ十分に公表されていません。そのため、「明らかな痕跡がない=安全」とは限らない点に注意が必要です。心配な場合は、専門ツールによる網羅的なスキャンをおすすめします。

7.2 万が一、侵害が疑われる場合

不審な痕跡が見つかった場合、不正なユーザーやファイルを削除するだけでは不十分です。攻撃者はバックドア(再侵入用の裏口)を仕掛けている可能性が高いため、以下のような徹底した対応が必要になります。

  1. サイトを一時的にメンテナンスモードにし、被害の拡大を止める
  2. クリーンなバックアップからの復元、またはコアファイルの完全な再インストールを行う
  3. すべてのパスワードと、wp-config.php の認証用ユニークキー(Salt)を再発行する
  4. 復旧作業中は IP 制限をかけ、第三者の介入を遮断する

8. 「更新すれば終わり」ではない:継続的な脆弱性管理の重要性

今回の wp2shell が私たちに突きつけた最も重要な教訓は、「WordPress のコア(本体)そのものにも、これほど深刻な脆弱性が潜んでいる」という事実です。

「プラグインさえ最新にしていれば大丈夫」「うちは変なプラグインを入れていないから安全」——そうした思い込みは、今回のケースでは通用しませんでした。プラグインが一切なくても、標準状態のまま乗っ取られてしまうからです。

だからこそ重要になるのが、「自分のサイトが、今どのような脆弱性を抱えているか」を継続的に把握する仕組みです。
脆弱性情報は日々更新されます。今回のように、昨日まで安全だったバージョンが、ある日突然「緊急の危険バージョン」に変わることも珍しくありません。人の手による目視確認だけで、これらすべてを追い続けるのは現実的ではありません。

8.1 SentinelSecurity による脆弱性スキャン

私たち SentinelSecurity は、こうした「見えないリスク」を可視化するためのセキュリティプラグインです。
今回のようなコア・プラグイン・テーマの既知の脆弱性はもちろん、サーバー環境(PHP バージョンなど)を含めた包括的な脆弱性チェックを行い、「あなたのサイトが今、どのリスクにさらされているか」をダッシュボードのセキュリティスコアとして分かりやすく提示します。

さらに、プロ版のファイル変更監視機能を使えば、今回の攻撃で懸念されるような「身に覚えのないファイルの追加・改ざん」を検知し、万が一の侵害にいち早く気づくことができます。「攻撃を防ぐ」だけでなく、「攻撃されたことに気づける」体制を整えることが、被害を最小限に食い止める鍵となります。


9. まとめ

最後に、本記事の要点を整理します。

  • wp2shell(CVE-2026-63030 / CVE-2026-60137)は、認証もプラグインも不要でサイトを乗っ取れる、WordPress コアの緊急脆弱性です。
  • 影響するのは 6.9.0〜6.9.4 と 7.0.0〜7.0.1。対策版は 6.9.5 / 7.0.2(旧系統は 6.8.6)です。今すぐバージョンを確認し、更新してください。
  • 攻撃コードはすでに公開・流通しており、悪用は現実の脅威です。「後でやろう」は禁物です。

サイトの安全は、たった一度のアップデートで守れることもあれば、たった一日の放置で失われることもあります。
この機会にぜひ、ご自身のサイトのバージョンを確認し、そして「継続的に脆弱性を把握する習慣」を見直してみてください。

あなたのサイトは、今このバージョンで大丈夫ですか?
SentinelSecurity の無料版で、今すぐお使いのサイトの脆弱性スキャンを実行してみましょう。