⚡️ Cloudflare Image Resizing <= 1.5.6 - استغلال تنفيذ الأكواد عن بُعد بدون مصادقة (CVE-2025-8723)
🚨 نظرة عامة على الثغرة
إضافة Cloudflare Image Resizing لـ WordPress (الإصدارات <= 1.5.6) تعاني من ثغرة غياب المصادقة والتي تسمح بـ تنفيذ الأكواد عن بُعد بدون مصادقة (RCE) عبر خطاف rest_pre_dispatch.
- CVE: CVE-2025-8723
- درجة CVSS: 9.8 (حرجة)
- نُشرت في: 18 أغسطس 2025
- المتجه:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- اكتُشفت بواسطة: Wordfence Intelligence
الوصف:
يفشل طرف REST API الخاص بالإضافة في مصادقة المستخدمين ولا يعقّم المدخلات بشكل صحيح في دالة hook_rest_pre_dispatch(). هذا الخلل يمكّن المهاجمين من حقن وتنفيذ أكواد PHP عشوائية عبر صياغة طلبات خبيثة — دون الحاجة إلى تسجيل الدخول.
🛠 ميزات أداة الاستغلال هذه
- نص برمجي بايثون احترافي، نمطي، وقابل للتوسعة
- كشف تلقائي لثغرة الإضافة عبر تحليل ملف
readme.txt
- تقنيات تجاوز متعددة لـ WAF والبيئات المقيدة:
- مجموعات ترويسات بسيطة ومتقدمة (User-Agent وReferer وOrigin وX-Forwarded-For عشوائية، إلخ)
- محاولات متكررة مع تدوير الترويسات
- دعم الوكيل (بروكسي مخصص أو بأسلوب BurpSuite)
- تنفيذ أوامر مخصصة:
- الافتراضي:
whoami، ولكن يمكن للمستخدم تحديد أي أمر
- مخرجات واضحة واحترافية مع رموز حالة معلوماتية
- يعالج جميع حالات الأخطاء بسلاسة (غياب الإضافة، محظور/غير مصرح به، أخطاء الخادم، إلخ)
📦 ماذا يوجد داخل النص البرمجي؟
1️⃣ الكشف التلقائي عن الثغرة
- يجلب
wp-content/plugins/cf-image-resizing/readme.txt
- يستخرج إصدار الإضافة ويتحقق منه
- إذا كان الإصدار ≤ 1.5.6، يتابع إلى الاستغلال
2️⃣ استراتيجيات استغلال متعددة
- ترويسات بسيطة: يرسل فقط ما هو ضروري لزيادة التوافق
- ترويسات متقدمة: يعشّع User-Agent وReferer وOrigin وAccept-Language والمزيد لكل محاولة
- تدوير الترويسات: يجرب عدة مجموعات لتجاوز WAF وتحديد المعدل
3️⃣ تنفيذ قابل للتخصيص
- تشغيل أي أمر نظام على الهدف عبر وسيط سطر الأوامر
مثال: -c "id"
4️⃣ دعم الوكيل
- استخدم
--proxy لإرسال الطلبات عبر وكيل (مثل BurpSuite)
5️⃣ مخرجات شاملة
- يعرض الإصدار المكتشف، حالة الثغرة، الطرق المُجرَّبة، ومخرجات الأمر الفعلية
🚀 الاستخدام
python3 CVE-2025-8723.py -u http://target.com/
حدد أمرًا مخصصًا:
python3 CVE-2025-8723.py -u http://target.com/ -c "id"
استخدم وكيلًا (مثل BurpSuite):
python3 CVE-2025-8723.py -u http://target.com/ --proxy http://127.0.0.1:8080
زيادة عدد محاولات الترويسات المتقدمة (الافتراضي هو 5):
python3 CVE-2025-8723.py -u http://target.com/ --attempts 10
🧩 مثال على المخرجات
[+] CVE-2025-8723 Exploit | by Khaled Alenazi (Nxploited)
[+] Detected version: 1.5.6
[+] Target is vulnerable (<=1.5.6). Proceeding with exploit.
[*] Trying minimal headers (only Content-Type)...
[=] Minimal Headers | Status: 200
www-data
[+] Exploit worked with this method!
🛡️ تقنيات التجاوز والتهرب
- عشوائية الترويسات: يجرب مجموعات متنوعة من User-Agent وReferer وOrigin وAccept-Language
- دعم الوكيل: استخدم وكيلًا لتدوير عناوين IP وتجاوز القيود القائمة على IP
- محاولات متعددة: يعيد المحاولة بترويسات جديدة إذا تم حظر الطلبات أو منعها
- معالجة الأخطاء: يفسر جميع الاستجابات الشائعة بذكاء (404, 401, 403, 5xx, انتهاء المهلة)
📖 شرح بنية النص البرمجي
- normalize_url: يضمن صحة تنسيق عنوان URL
- get_headers: يولّد ترويسات متقدمة عشوائية لكل محاولة
- get_readme/extract_version/is_vulnerable: منطق الكشف التلقائي عن الثغرة
- try_exploit: يحاول الاستغلال باستخدام مجموعة ترويسات معينة
- exploit_all: ينسّق جميع محاولات الاستغلال، ويبدّل استراتيجيات الترويسات تلقائيًا
- scan: يتحقق من وجود الإضافة والثغرة
- Nxploited (main): تحليل الوسائط، وإعداد التقارير، وسير عمل الاستغلال
⚠️ إخلاء المسؤولية
هذه الأداة مخصصة لاختبار الأمان المصرح به والأغراض التعليمية فقط.
المطوّر غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا الكود.
بواسطة: خالد العنزي (Nxploited)