Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-5118 — Divi Form Builder <= 5.1.2 — تصعيد صلاحيات غير مصادق عليه عبر حقن الأدوار | Kitploit
أدوات/GitHubGitHub/yucaerin/cve-2026-5118
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubyucaerin/cve-2026-5118

CVE-2026-5118

Divi Form Builder <= 5.1.2 — تصعيد صلاحيات غير مصادق عليه عبر حقن الأدوار

عرض المستودع
11منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-5118 — Divi Form Builder <= 5.1.2 — تصعيد الامتيازات غير المصادق عليه عبر حقن الدور

🔥 ملخص الثغرة

إضافة ووردبريس Divi Form Builder بإصدارات <= 5.1.2 معرّضة لثغرة تصعيد امتيازات غير مصادق عليه. يسمح هذا الخلل الحرج للمهاجمين غير المصادقين بإنشاء حساب مدير (Administrator) جديد مباشرةً عبر أي نموذج من نماذج Divi Form Builder — بما في ذلك نماذج الاتصال، ونماذج عروض الأسعار، والنشرات الإخبارية، أو أي نموذج آخر مفعّل عبر DFB.

تنبع الثغرة من دالة create_user() في FormSubmissionHandler.php، والتي تقبل معامل role مباشرةً من بيانات POST المقدمة من المستخدم دون تحقق مناسب من الصلاحية أو قائمة سماح. تتحقق الإضافة فقط من أن الدور المُرسل موجود في النظام (على سبيل المثال، administrator هو دور ووردبريس صالح) — ولا تتحقق أبداً مما إذا كان الدور آمناً للتسجيل العام.

اكتشاف مفصلي: إن fb_nonce المستخدمة بواسطة Divi Form Builder هي nonce عامة مشتركة (wp_create_nonce('security')) — متطابقة عبر جميع النماذج في الموقع. علاوة على ذلك، يمكن تجاوز form_type=register عبر POST إلى معالج AJAX المشترك. وهذا يعني أن أي نموذج DFB (اتصال، عرض سعر، ملاحظات، إلخ) يمكن تسليحه لتفعيل تسجيل المستخدم مع تعيين دور تعسفي.

🔍 الإضافة المتأثرة

  • اسم الإضافة: Divi Form Builder
  • الإصدار المتأثر: <= 5.1.2
  • نوع الثغرة: تصعيد امتيازات غير مصادق عليه عبر حقن الدور
  • معرف CVE: CVE-2026-5118
  • درجة CVSS: 9.8 (حرجة)
  • CWE: CWE-266 — تعيين امتيازات غير صحيح
  • الأثر: استيلاء كامل على الموقع — إنشاء حساب مدير

🧨 ما يمكن أن يفعله المهاجمون

القدرةالأثر
🔑 إنشاء حساب مدير دون تسجيل دخولاستيلاء كامل على الموقع
📦 الوصول إلى بيانات عملاء WooCommerceاختراق البيانات
💉 تعديل ملفات PHP الخاصة بالإضافات/القالبتنفيذ تعليمات برمجية عن بُعد
🕳️ تثبيت أبواب خلفية مخفيةوصول دائم
👥 عرض جميع بيانات المستخدمينانتهاك الخصوصية

🧪 ميزات الاستغلال

  • 🔓 لا يتطلب مصادقة
  • 📝 يعمل عبر أي نموذج DFB — اتصال، عرض سعر، نشرة إخبارية، ملاحظات، إلخ.
  • 🎯 يستهدف نقطة نهاية AJAX /wp-admin/admin-ajax.php?action=de_fb_ajax_submit_ajax_handler
  • 🧠 حقن الدور — يُرسل role=administrator إلى جانب حقول النموذج العادية
  • 🌐 دعم الفحص الجماعي — ماسح متعدد الخيوط متعدد الأهداف مع اكتشاف تلقائي
  • 📄 حفظ النتائج في result.txt

🧠 الكود المعرّض للثغرة

// includes/shared/handlers/FormSubmissionHandler.php ~ line 2250
$role = isset($form_data['role']) ? sanitize_text_field($form_data['role']) : 'subscriber';

// ~ line 2278 — ONLY checks if role EXISTS, not if it is SAFE
$roles_obj = function_exists('wp_roles') ? wp_roles() : null;
if ($roles_obj && is_object($roles_obj) && is_array($roles_obj->roles) && !isset($roles_obj->roles[$role])) {
    $role = 'subscriber';  // ← "administrator" EXISTS, so this check PASSES
}

// ~ line 2301 — Directly applies the injected role
$user = new WP_User($user_id);
$user->set_role($role);  // ← PRIVILEGE ESCALATION!

🚀 الاستخدام

هدف واحد

python3 exploit.py -t http://target.com
python3 exploit.py -t https://target.com -u hacker -p Pass123! -e [email protected]

فحص جماعي (قائمة بدون http/https)

أنشئ ملف targets.txt:

target1.com
target2.com:8080
192.168.1.50
subdomain.target.com
python3 exploit.py -l targets.txt -T 20

الخيارات

الخيارالوصف
-t, --targetرابط هدف واحد
-l, --listملف يحتوي على قائمة الأهداف (سطر لكل هدف، http/https اختياري)
-T, --threadsعدد الخيوط للفحص الجماعي (الافتراضي: 10)
-o, --outputملف الإخراج للنتائج (الافتراضي: result.txt)
-u, --usernameاسم مستخدم مخصص للحساب الجديد
-p, --passwordكلمة مرور مخصصة للحساب الجديد
-e, --emailبريد إلكتروني مخصص للحساب الجديد
-v, --verboseإخراج تصحيح مفصّل
--no-confirmتخطي رسالة تأكيد الإذن

🛠 توصيات الإصلاح

// SECURE: Allowlist only safe roles for public registration
$allowed_registration_roles = array('subscriber', 'contributor');
if (!in_array($role, $allowed_registration_roles, true)) {
    $role = 'subscriber';  // ← Reject ALL dangerous roles
}
  • قم بإزالة حقل الإدخال المخفي role من النماذج الأمامية بالكامل
  • أضف فحوصات صلاحية current_user_can('create_users') للأدوار المميزة
  • نفّذ تحققاً صارماً من nonce محدد النطاق لكل نموذج بدلاً من nonce عامة
  • أضف تحديد معدل الطلبات على نقطة نهاية تسجيل AJAX

🧠 الباحث

  • الفضل: 0xd4rk5id3

📚 المراجع

  • نشرة Wordfence الأمنية
  • مستودع CVE الأصلي

🔒 إخلاء المسؤولية:

هذه المعلومات مقدمة لأغراض تعليمية واختبار الاختراق المصرح به فقط. الاستغلال غير المصرح به لأنظمة الكمبيوتر غير قانوني وغير أخلاقي. احصل دائماً على إذن كتابي صريح قبل اختبار أي هدف لا تملكه.

تنزيل الأداة