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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/d0n601/cve-2026-7537
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubd0n601/cve-2026-7537

CVE-2026-7537

MDJM Event Management <= 1.7.8.3 - رفع ملفات تعسفي بعد المصادقة (مسؤول+) عبر معامل `mdjm_email_upload_file`

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

الأكثر شعبية

عرض الكل →

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

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

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

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

MDJM Event Management <= 1.7.8.3 - رفع ملفات تعسفي لمستخدم مصادق عليه (Administrator+) عبر معامل 'mdjm_email_upload_file'

تحتوي إضافة ووردبريس MDJM Event Management (الإصدار 1.7.8.3 وما قبله) على ثغرة رفع ملفات تعسفي تسمح للمسؤولين المصادق عليهم برفع ملفات PHP خبيثة إلى الخادم، مما قد يؤدي إلى تنفيذ تعليمات برمجية عن بُعد.

الاستغلالات باختصار

تم توفير إثبات مفهوم (POC) CVE-2026-7537.py لتوضيح قيام مهاجم مصادق عليه برفع shell.php وتنفيذ تعليمات برمجية عن بُعد:

root@kitploit:~
python3 ./CVE-2026-7537.py http://target-site.com admin password123
[+] Logging into: http://target-site.com/wp-admin
[+] Extracting nonce values...
[+] Uploading web shell: shell.php
[+] Web Shell Location: http://target-site.com/wp-content/uploads/2026/02/shell.php
[+]
[+] Executing test command: id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

الوصف الفني

توجد الثغرة في الدالة mdjm_send_comm_email() ضمن ميزة الاتصالات. تفتقر وظيفة الرفع إلى التحقق السليم من الملفات عند معالجة مرفقات رسائل البريد الإلكتروني. وهذا يسمح للمستخدمين المصادق عليهم الذين لديهم صلاحية (المسؤولون ومديرو MDJM افتراضيًا) برفع ملفات عشوائية، بما في ذلك ملفات PHP التي يمكن تنفيذها على الخادم.

mdjm_comms_send

تحليل مسار الهجوم

المصدر: إدخال المستخدم من $_FILES['mdjm_email_upload_file'] المصب: move_uploaded_file($tmp_path, $file_path) في comms-functions.php#L248

تحدث الثغرة للأسباب التالية:

  1. تسجيل المسار: نموذج الاتصالات متاح للمستخدمين الذين لديهم صلاحية send_comms عبر comms-functions.php#L24.
  2. فحص الصلاحية: تُمنح صلاحية mdjm_comms_send للمستخدمين الحاصلين على إذن manage_mdjm عبر class-mdjm-permissions.php#L626.
  3. أذونات الدور الافتراضية: دور DJ (class-mdjm-roles.php#L97-L104) لا يملك mdjm_comms_send افتراضيًا - فقط المسؤولون يملكونه.
  4. معالجة الإجراءات: تتم معالجة إرسالات النموذج عبر الدالة mdjm_process_actions() في admin-actions.php#L26.
  5. استدعاء المعالج: يُفعّل الإجراء الدالة mdjm_send_comm_email() المسجلة في comms-functions.php#L300.
  6. التحقق من Nonce: على الرغم من وجود حماية CSRF عبر التحقق من nonce في comms-functions.php#L235، لا يتبع ذلك أي تحقق من الملفات.
  7. معالجة الإدخال: تتم معالجة بيانات الملف التي يتحكم بها المستخدم من $_FILES['mdjm_email_upload_file'] مباشرة دون تحقق في comms-functions.php#L241-L251.
  8. معالجة الملف: يؤخذ اسم الملف مباشرة من إدخال المستخدم دون أي تنظيف أو تحقق من الامتداد.
  9. تخزين الملف: تُحفظ الملفات في دليل رفع WordPress (/wp-content/uploads/YYYY/MM/) باستخدام move_uploaded_file() دون أي فحوصات أمنية.

موقع الكود المُعرَّض للثغرة

الملف: includes/admin/communications/comms-functions.php#L241-L251

root@kitploit:~
if ( isset( $_FILES['mdjm_email_upload_file'] ) && '' !== $_FILES['mdjm_email_upload_file']['name'] ) {
    $upload_dir = wp_upload_dir();

    $file_name = $_FILES['mdjm_email_upload_file']['name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated
    $file_path = $upload_dir['path'] . '/' . $file_name;
    $tmp_path  = $_FILES['mdjm_email_upload_file']['tmp_name']; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidated

    if ( move_uploaded_file( $tmp_path, $file_path ) ) {
        $attachments[] = $file_path;
    }
}
تنزيل الأداة