
REST APIのルート混乱とSQLインジェクションを利用したWordPress Core用のエクスプロイトチェーン。未認証のRCE、権限昇格、完全なサーバー乗っ取りを実現します。
WP2Shell は WordPress Core のソースコードにおける重大な脆弱性チェーン(Exploit Chain)であり、リモートからの**認証不要攻撃者(Unauthenticated Remote Attacker)**によるサーバー完全掌握(Full Server Takeover / RCE)を可能にします。
このエクスプロイトチェーンは、以下の2つのセキュリティ脆弱性を組み合わせたものです:
WP_Query における SQL Injection): WP_Query の author__not_in パラメータに対する入力サニタイズ(Sanitization)処理の欠如により、SQL インジェクションが発生します。これら2つの脆弱性を連鎖させることで、攻撃者は特別に細工した HTTP リクエストを /wp-json/batch/v1 に送信し、認証メカニズムを回避して SQLi を誘発し、権限昇格、シェルの作成、リモートからの任意コード実行(RCE)を達成できます。
実際の再現・エクスプロイトの全プロセスを記録したビデオは Google Drive に保存されています:
🔗 PoC ビデオの視聴 / ダウンロードリンク: Google Drive - WP2Shell PoC デモビデオ
技術分析の全フロー、PoC のステップバイステップの再現手順、およびソースコードの解説は Notion に保存されています:
🔗 Notion 記事リンク: WP2Shell CVE PoC フロー (Notion Writeup)
flowchart TD
A["[Attacker] Unauthenticated Remote Request"] --> B["REST API Batch Endpoint (/wp-json/batch/v1)"]
B --> C["CVE-2026-63030: Batch Route Confusion\n(Bypass Route Validation & Access Control)"]
C --> D["CVE-2026-60137: SQL Injection\n(Unsanitized 'author__not_in' in WP_Query)"]
D --> E["Database Manipulation / Privilege Escalation\n(Admin session / User creation)"]
E --> F["Web Shell Upload / Execution"]
F --> G["💥 Full Server Takeover (RCE)"]/wp-json/batch/v1 エンドポイントへのリクエストを一時的にブロックするか、厳重に制御してください。/wp-json/batch/v1 への異常なリクエストを検索してください。wp-content/uploads/ および wp-content/plugins/ ディレクトリをスキャンし、Web シェルや不審なファイルを検出してください。[!WARNING] この資料および PoC ソースコードは、セキュリティ研究、教育、システム防御の目的のみに提供されます。 著者は、本リポジトリの情報やツールを、合法的な権限を持たないシステムへの攻撃に不正使用した場合、一切の責任を負いません。
| 属性 | 詳細 |
|---|
| エクスプロイトチェーン名 (Chain Name) | WP2Shell |
| CVE IDs | CVE-2026-63030 & CVE-2026-60137 |
| 深刻度 (Severity) | Critical (CVSS v3.1: 9.8 / 10.0) |
| 攻撃ベクトル (Attack Vector) | Network (Unauthenticated Remote) |
| 影響を受けるバージョン (Affected Versions) | • Full RCE Chain: WordPress 6.9.0 - 6.9.4 & 7.0.0 - 7.0.1• SQL Injection Only: WordPress 6.8.0 - 6.8.5 |
| パッチ適用済みバージョン (Patched Versions) | WordPress 6.8.6, 6.9.5, 7.0.2 |