WordPressコアに深刻な脆弱性「wp2shell」が判明、プラグインなしの初期状態でも外部からコード実行が可能
要点
-
WordPressのコアシステムに、認証を受けていない外部の攻撃者が遠隔からコードを実行できる脆弱性「wp2shell」が発見された。
-
影響を受けるのはバージョン6.9.0〜6.9.4および7.0.0〜7.0.1であり、対策済みのバージョン6.9.5および7.0.2が緊急リリースされた。
-
WordPress側は自動更新システムを通じて強制アップデートを配信しているが、自動更新をオフにしているサイトへの適用状況は不明である。
-
脆弱性の技術的詳細は現時点で伏せられているが、すぐにアップデートできない管理者向けに、WAFによるアクセス制限などの回避策が提案されている。
-
多くのウェブサイトで利用されているコンテンツ管理システム「WordPress」のコア(本体)システムに、認証を必要としない第三者が遠隔から任意のプログラムを実行できるリモートコード実行(RCE)の深刻な脆弱性が存在することが明らかになった。この問題は、セキュリティ企業Searchlight CyberのAssetnote部門に所属するアダム・キューズ氏によって報告され、「wp2shell」と名付けられた。WordPressは2026年7月17日、この脆弱性を修正したアップデートを緊急リリースした。
デフォルト状態で悪用可能なコアの脆弱性
今回発見された脆弱性「wp2shell」の最大の特徴は、追加のプラグインを一切導入していない初期状態のWordPressであっても悪用が可能である点だ。攻撃者は、特別な事前条件なしに匿名のHTTPリクエストを送信するだけで、標的となるサイト上でコードを実行できるという。
影響を受けるのは、以下のバージョンを稼働しているサイトである。
- バージョン6.9.0〜6.9.4(6.9.5で修正)
- バージョン7.0.0〜7.0.1(7.0.2で修正)
WordPressはこれらの修正を含むバージョン6.9.5および7.0.2を2026年7月17日に公開した。また、現在開発中のバージョン「7.1 beta2」にも同様の修正が含まれている。なお、バージョン6.8系を使用しているサイト向けにも「6.8.6」が提供されているが、こちらは別の調査チームが報告した別のSQLインジェクション(データベースを不正に操作する攻撃)脆弱性への対応であり、今回の「wp2shell」の修正とは異なる。
自動更新の注意点と識別子の欠如
WordPressは、今回のセキュリティ修正を自動更新システムを通じて「強制アップデート」として配信した。しかし、管理者が設定で自動更新を無効化しているサイトにまでこの修正が適用されるかは明らかにされていない。そのため、WordPressの運営側は、更新が完了したと仮定せず、稼働しているバージョンを手動で確認するよう求めている。
また、2026年7月18日時点で、この脆弱性に対するCVE(共通脆弱性識別子:世界的に合意された脆弱性の識別用ID)や、CVSSスコア(脆弱性の深刻度評価)は割り当てられていない。そのため、CVEを基準にする脆弱性スキャナーなどでは検出されない可能性があり、管理者はバージョン番号をもとに直接アップデート状況を確認する必要がある。
REST APIのバッチ機能における問題
WordPressが公開したリリース情報によると、キューズ氏が発見した問題は「REST API(外部のシステムとデータをやり取りするための標準的な通信インターフェース)のバッチルートにおける混同と、SQLインジェクションの問題であり、リモートコード実行を許すもの」と説明されている。このリリースでは、深刻度が「緊急」と「高」に分類される2つの脆弱性が修正されたが、今回のバグがどちらに該当するかは明記されていない。
修正対象となったのは、/wp-includes/rest-api/class-wp-rest-server.php、/wp-includes/class-wp-query.php、そして/wp-includes/rest-api.php の3つのファイルだ。脆弱性の原因となったバッチエンドポイント(特定の通信先)自体は、2020年11月にリリースされたWordPress 5.6から搭載されており、その通信形式も一般公開されていた。しかし、2025年12月2日にリリースされたバージョン6.9において、どのような変更が原因でこの脆弱性が生じるようになったのかは公表されていない。
影響規模と暫定的な回避策
Searchlight Cyberの報告によると、WordPressは世界で5億以上のウェブサイトで稼働していると推定されている。ただし、今回問題となっている脆弱なコードが含まれるのはバージョン6.9以降のみであるため、影響を受けるのはリリースから8ヶ月未満の比較的新しいバージョンを動かしているサイトに限られる。
発見者であるSearchlight Cyberは、悪用を防ぐために技術的な詳細の公表を一時的に見合わせており、代わりに自身のサイトが影響を受けるかを確認できるチェッカーツール(wp2shell.com)を公開している。
また、即座にアップデートを適用できない管理者に向けて、同社は以下の3つの暫定的な回避策を提示している。ただし、これらは正規の外部連携などを損なう可能性がある。
- WAF(ウェブアプリケーションファイアウォール)によるアクセス制限
WAFを用いて、/wp-json/batch/v1およびrest_route=/batch/v1の両方の通信経路をブロックする。片方のパスのみを防ぐルールでは、クエリ文字列を利用したもう一方の経路がすり抜けてしまうため、双方のブロックが必要不可欠であると強調されている。 - REST APIの無効化
「Disable WP REST API」などのプラグインを使用し、認証されていないユーザーからのREST APIへのアクセス自体を一括で停止する。 - 専用ドロップインプラグインの導入
wp2shell.comで提供されている、匿名ユーザーからの/batch/v1に対するリクエストを検知して拒否する軽量なプラグイン(追加するだけで機能するプログラム)を導入する。
悪用の兆候と今後の展望
2026年7月18日の時点で、この脆弱性を突いた実際の攻撃事例は報告されていない。しかし、WordPressサイトへの一斉攻撃は一つの「産業」と化しているのが現状だ。直近の2026年6月には、キャッシュプラグインの脆弱性を突いた攻撃グループ「WP-SHELLSTORM」により、1万7,000以上のサイトが侵入被害に遭ったことが確認されている。
今回、発見者が詳細を隠蔽しているのは防御側の時間を稼ぐためであるが、WordPressはオープンソースであるため、公開された過去のバージョンと修正版を比較することで、誰でも脆弱性の全貌を解析できる状態にある。そのため、管理者は詳細が解明される前に迅速な対応を行うことが望まれる。