
📖 詳細な技術解析を先にお読みください: CVE-2026-63030: WordPress Pre-Auth RCE Explained
このリポジトリには、その記事で参照されている概念実証エクスプロイトが含まれています。脆弱性、制限事項、再現手順を理解するには、まずブログ記事からお読みください。
| 項目 | 詳細 |
|---|---|
| 脆弱性 | CVE-2026-63030(ルート混乱)+ CVE-2026-60137(SQLインジェクション) |
| 種別 | 事前認証リモートコード実行(Pre-auth RCE) |
| CVSSスコア | 9.8(Critical) |
| 影響を受けるバージョン | WordPress 6.9.0–6.9.4, 7.0.0–7.0.1 |
| 修正バージョン | WordPress 6.9.5, 7.0.2+ |
| 影響範囲 | 5億以上のWordPressサイトが影響を受ける可能性 |
| 前提条件 | なし — 標準構成のWordPressで動作 |
このリポジトリには以下が含まれます:
wordpress-rest-exploit.py — 単一ファイルのPythonエクスプロイトツール(1,005行、依存関係なし)README.md — セットアップと使用方法を記載した本ファイルPOC.md — 実例付きの詳細なステップバイステップ再現ガイドLICENSE — MITライセンスこのエクスプロイトを使用する前に、この脆弱性を報告された内容とは異なるものにしている重大な制限事項を理解してください:
脆弱性チェーンは実際に存在し、深刻です。ただし:
なぜか? WordPressではカスタムのデータベーステーブルプレフィックスが許可されています。デフォルトはwp_ですが、ほとんどのセキュリティ強化サイトではbw1w_、wordpress_、またはランダムな文字列が使用されています。プレフィックスを知らなければ、ハッシュ抽出は静かに失敗します。
ブログ記事では以下を説明しています:
👉 完全な分析を読む
./wordpress-rest-exploit.py
ツールは以下の流れをガイドします:
CVE-2026-63030: WordPress REST Batch Route-Confusion SQLi
------------------------------------------------------------
Target URL: https://example.com/
[*] Checking if target is vulnerable to CVE-2026-63030...
[+] WordPress 7.0 detected (AFFECTED VERSION)
[+] VULNERABLE - batch route-confusion behavior confirmed
What would you like to do?
1) Read database fingerprint
2) Extract WordPress user logins and password hashes
3) Execute custom SQL query
4) Deploy plugin webshell (requires admin credentials)
5) Confirm SQL injection with timing payload
6) Exit
Select option [1]:
これはエクスプロイトを使用する前に必ず理解しておくべき事項です。
WordPressではセキュリティ強化のためにカスタムのデータベーステーブルプレフィックスが許可されています。エクスプロイトツールはプレフィックスを自動検出できません。
✅ Default prefix (wp_): Exploitation works
❌ Custom prefix (bw1w_, etc.): Exploitation fails silently
ツールがテーブルプレフィックスを尋ねてきた場合:
オプション1: プレフィックスを知っている場合
Database table prefix [wp_]: bw1w_
[+] Querying bw1w_users...
[+] Found credentials!
オプション2: 一般的なプレフィックスを推測する
wp_(デフォルト)wordpress_bw1w_(一般的な強化策)wpdb_オプション3: 直接アクセス
SSHアクセスがある場合、またはwp-config.phpを読める場合:
$table_prefix = 'bw1w_'; // Found it!
オプション4: SQLiによるブルートフォース ツールはブラインドSQLインジェクションを通じて一般的なプレフィックスを試行できます(低速ですが可能です)。
SLEEP(3)ペイロードを送信wp_usersテーブル(またはカスタムプレフィックス)をクエリ実際のコマンド出力と例を含む詳細な再現手順については、以下を参照:
👉 POC.md — 完全な8ステージのウォークスルー
このガイドには以下が含まれます:
すぐに更新してください(最優先):
# Update to patched versions
WordPress 7.0.2 or 6.9.5
直ちに更新できない場合:
WAF/リバースプロキシでバッチエンドポイントをブロック:
Block: /wp-json/batch/v1
Block: /?rest_route=/batch/v1
またはREST API全体を無効化(あまり理想的ではない):
// Add to wp-config.php or mu-plugins
add_filter('rest_endpoints_enabled', '__return_false');
または認証を必須にする:
add_filter('rest_pre_dispatch', function($response) {
if (strpos($_SERVER['REQUEST_URI'], '/batch/v1') !== false) {
if (!is_user_logged_in()) {
return new WP_Error('rest_batch_unauthenticated', 'Forbidden', ['status' => 401]);
}
}
return $response;
}, 10, 1);
認可されたセキュリティテスト専用です。 自分が所有するシステム、または明示的な書面によるテスト許可を得たシステムに対してのみ使用してください。保証は一切提供されず、誤用に対する責任も負いません。
研究開発: Easin Arafat
GitHub: @mrx-arafat
ウェブサイト: arafatops.com
この概念実証は、実践的なエクスプロイト技術、脆弱性検出、実環境でのテスト結果を用いて、WordPressのwp2shell脆弱性チェーンを示しています。全体像を理解するには、まずブログ記事をお読みください。
最終更新: 2026年7月
ライセンス: MIT
| 発見 | 影響 |
|---|
| 脆弱性の検出は完全に機能 | 影響を受けるサイトの特定が容易 |
| SQLインジェクションは信頼できる | データベースアクセスが保証される(プレフィックス既知の場合) |
| テーブルプレフィックスがボトルネック | 本番サイトの70%が防御されている |
| ブラインドSQLiは低速 | 完全な抽出に30分以上かかる |
| 認証後RCEはシームレスに機能 | 認証後はシステム全体を完全に制御可能 |
| 事前認証RCEは非公開 | Searchlight Cyberはその技術を公開しなかった |