WordPress「wp2shell」認証不要RCE(CVE-2026-63030)今すぐ更新
2026年7月17日にWordPress 7.0.2 / 6.9.5が公開され、認証不要でコード実行が可能な深刻な脆弱性『wp2shell』が修正された。対象バージョン・攻撃の仕組み・PoC公開状況を整理し、更新できない場合の暫定緩和策まで解説する。
結論:WordPress 6.9系・7.0系は今すぐ更新
2026年7月17日、WordPressはセキュリティリリース 7.0.2 と 6.9.5 を公開した。修正されたのは「wp2shell」と通称される深刻な脆弱性で、ログイン不要・プラグイン不要のデフォルト構成のまま、匿名のHTTPリクエスト1つでサーバー上のコードを実行できる(プレ認証RCE)。7月18日にはCVE番号の割り当て、攻撃メカニズムの詳細、そして動作するPoC(実証コード)が公開された。対象バージョンを使っているサイトは、更新を最優先で実施すべき状況である。まず自サイトのバージョンを確認し、6.9系・7.0系であれば直ちに最新へ更新してほしい。
対象バージョンと修正版
wp2shellは1つのバグではなく、2つの脆弱性を連鎖させたものである。片方(SQLインジェクション)は6.8系から存在するが、これを認証不要のRCEに引き上げるもう片方(REST APIのバッチ処理の欠陥)は6.9系以降にのみ存在する。
| バージョン帯 | 影響 | 修正版 |
|---|---|---|
| 6.8.0〜6.8.5 | SQLインジェクションのみ | 6.8.6 |
| 6.9.0〜6.9.4 | RCEチェーン成立(深刻) | 6.9.5 |
| 7.0.0〜7.0.1 | RCEチェーン成立(深刻) | 7.0.2 |
※WordPressは今回、自動更新機構による強制アップデートも有効化している。ただし自動更新を無効化している環境や、リバースプロキシ・WAF配下の構成では手動確認が必須。
2つのCVEと攻撃の仕組み
- CVE-2026-60137(SQLインジェクション): WP_Query の author__not_in パラメータに、本来配列で渡すべき値を文字列で渡すと検証をすり抜け、生の値がSQLに注入される
- CVE-2026-63030(REST APIバッチルートの取り違え): /wp-json/batch/v1 エンドポイントは複数のサブリクエストをまとめて処理するが、エラー処理のズレにより配列インデックスがずれ、認証を経ずに脆弱なパラメータへ到達できる
この2つを連鎖させると、匿名リクエストがバッチエンドポイント経由で認証チェックを回避し、SQLインジェクションを踏み、最終的にコード実行まで到達する。CVSSはWordPress側がRCEチェーン全体を「Critical(緊急)」と評価しており、永続オブジェクトキャッシュを持たないデフォルト構成が特に危険とされる。発見はAssetnote/Searchlight CyberのAdam Kues氏らによる。
今すぐやること
- バージョン確認: 管理画面の「ダッシュボード > 更新」またはフッターでコアバージョンを確認する
- 即時更新: 6.9系は6.9.5へ、7.0系は7.0.2へ、6.8系は6.8.6へ更新する
- 更新前にバックアップ: 本番サイトはファイルとDBのバックアップを取ってから更新する
- 自動更新の確認: WP_AUTO_UPDATE_CORE を無効化していないか確認する(無効なら手動更新が必須)
- 侵害の痕跡確認: 不審な管理者アカウント・新規PHPファイル・アクセスログ中の /wp-json/batch/v1 への異常なPOSTを確認する
すぐに更新できない場合の暫定緩和策
検証環境での動作確認が必要などの理由で即時更新が難しい場合は、あくまで一時しのぎとして以下の緩和策がある。ただし根本対策はコアの更新であり、緩和策は更新までの時間稼ぎと位置づけること。
- バッチエンドポイントの遮断: WAFやWebサーバー設定で /wp-json/batch/v1 および rest_route=/batch/v1 へのアクセスを拒否する
- REST APIの匿名アクセス制限: 認証済みユーザー以外のREST APIアクセスを制限する(提供元によるドロップインプラグインの利用も選択肢)
- 主要CDN/WAFの仮想パッチ: 一部のマネージドWAFは本脆弱性向けの防御ルールを提供している。適用状況を確認する
根本的な再発防止 — 保守の観点
今回のように「デフォルト構成でも危険」なコア脆弱性は、放置サイトほど被害が長期化する。日常的な更新運用ができていれば、強制更新や手動更新で数時間以内に塞げるが、更新されないまま放置されたサイトはPoC公開後にスキャン対象となりやすい。WordPressの継続運用で何をすべきかはWordPress保守の実務に、更新を止めるリスク全般は『サポート終了』への備えにまとめている。万一の侵害時の初動については情報漏えいが起きたら最初の24時間も参照してほしい。
プラグインを入れていないデフォルトのWordPressでも危険ですか?
はい。wp2shellはプラグインもログインも不要で、6.9系・7.0系のデフォルトインストールに対して匿名のHTTPリクエストだけで成立する。プラグインを最小限にしているサイトも対象になる点が今回の特徴である。
自動更新を有効にしていれば安全ですか?
WordPressは今回、自動更新機構による強制アップデートを有効化しているため、自動更新が動いている環境では既に修正版へ更新されている可能性が高い。ただし自動更新を無効化していたり、ステージング環境やWAF配下で挙動が異なる構成では、必ず手動でバージョンを確認すること。
PoC(実証コード)が公開されているとどうリスクが変わりますか?
動作するPoCが公開されると、攻撃者が自作せずとも悪用でき、無差別なスキャン・攻撃が急増する傾向がある。wp2shellは7月18日にPoCが公開されたため、対象バージョンのサイトは『いつ攻撃されてもおかしくない』前提で早急に対処すべきである。
どのCVEを見ればよいですか?
wp2shellはCVE-2026-63030(REST APIバッチルートの取り違え)とCVE-2026-60137(SQLインジェクション)の2件で構成される。この2つが連鎖して認証不要のRCEになる。修正はコアの更新(6.9.5 / 7.0.2、6.8系は6.8.6)で両方まとめて塞がれる。
まとめ
wp2shell(CVE-2026-63030 / CVE-2026-60137)は、認証・プラグイン不要でコード実行に至る深刻なWordPressコア脆弱性で、7月17日に修正版が公開され、翌18日にPoCが公開された。対象は6.9系・7.0系(SQLi単体では6.8系)。とるべき行動はシンプルで、バックアップの上で最新版へ即時更新する、これに尽きる。すぐに更新できない場合はバッチエンドポイントの遮断などで時間を稼ぎつつ、できるだけ早くコアを更新すること。日常の更新運用がこうした緊急事態での被害を大きく左右する。
この記事に関連する無料ツール(登録不要・その場で結果)
お気軽にご相談ください
お問い合わせ