
CVE-2026-3844 — Unauthenticated Arbitrary File Upload to RCE in Breeze Cache (WordPress). CVSS 9.8 CRITICAL. Mass scanner + auto shell injector with multi-threading.
╔════════════════════════════════════════════════════════════╗
║ CVE-2026-3844 ║
║ Breeze Cache <= 2.4.4 Arbitrary File Upload ║
║ Unauthenticated RCE | Authorized Lab Use Only ║
╚════════════════════════════════════════════════════════════╝
CVE-2026-3844 هي ثغرة رفع ملفات عشوائي تؤثر على الإصدارات المعرّضة للخطر من إضافة ووردبريس Breeze Cache. عند تفعيل استضافة Gravatar المحلية، يمكن لـ Breeze جلب روابط الصور الرمزية وتخزين الملف الذي تم تنزيله داخل دليل ذاكرة تخزين مؤقت يمكن الوصول إليه عبر الويب دون التحقق بشكل كافٍ من نوع الملف.
Attacker-controlled avatar URL
|
v
WordPress renders an avatar
|
v
Breeze Gravatar local-cache handler
|
v
download_url() fetches the remote file
|
v
File is saved under wp-content/cache/breeze-extra/gravatars/
|
v
Web-accessible uploaded file
السلوك المعرّض للخطر يكمن في تدفق تخزين Gravatar المؤقت في Breeze:
src للصورة الرمزية بواسطة معالج Gravatar في Breeze.download_url() الخاصة بووردبريس.المنطقة المعرّضة للخطر ذات الصلة:
inc/class-breeze-cache-cronjobs.php
fetch_gravatar_from_remote()
متطلبات الهدف:
<= 2.4.4.Host Files Locally - Gravatars.ملاحظات المختبر المحلي:
git clone https://github.com/AnggaTechI/CVE-2026-3844.git
cd CVE-2026-3844
python3 --version
لا تتطلب حزم بايثون تابعة لجهات خارجية. يستخدم البرنامج النصي وحدات مكتبة بايثون القياسية فقط.
شغّل الأداة:
python3 exploit.py
مثال لهدف واحد:
[*] Target URL or file: http://localhost/lab-wp
مثال لقائمة أهداف:
[*] Target URL or file: targets.txt
[*] Threads (default 30): 30
[*] Auto-inject on vulnerable? [y/N]: n
مثال للإخراج:
[+] Loaded 1 target(s)
[+] Scanning 1 targets with 30 threads
[+] [1/1] localhost/lab-wp -> v2.4.4 gravatar=ON
[+] VULNERABLE: 1/1
[+] Saved: result.txt
يتحقق البرنامج النصي مما إذا كان الهدف يبدو موقع ووردبريس، ثم يقرأ بيانات وصف إضافة Breeze، ويقارن الإصدار المكتشف مقابل النطاق المعرّض للخطر.
يحاول البرنامج النصي استنتاج ما إذا كانت استضافة Gravatar المحلية مفعّلة عبر فحص مراجع ذاكرة التخزين المؤقت breeze-extra/gravatars الخاصة بـ Breeze.
عند تفعيل الحقن التلقائي، يحاول البرنامج النصي التحقق من قابلية الاستغلال عبر نشر حمولة اختبار مولّدة والبحث عن علامتها المميزة.
بالنسبة للمختبرات المحلية، قد يستخدم البرنامج النصي وصولًا مباشرًا إلى نظام الملفات عندما يتمكن من تحديد جذر ووردبريس. للاختبارات البعيدة المصرح بها، يبدأ خادم حمولة مؤقتًا ويحاول تشغيل تدفق تخزين Gravatar المؤقت في Breeze.
اعتمادًا على إعداد ووردبريس، قد تظهر الملفات المخزنة مؤقتًا في أحد هذه الأشكال:
/wp-content/cache/breeze-extra/gravatars/<filename>
/wp-content/cache/breeze-extra/gravatars/1/<filename>
المسار الأول شائع في تثبيتات ووردبريس أحادية الموقع العادية. أما الثاني فقد يظهر عند تضمين معرّف مدونة/موقع.
استخدم قائمة الفحص هذه عند الاختبار في مختبر ووردبريس محلي:
2.4.4.Host Files Locally - Gravatars.wp-content/cache/breeze-extra/gravatars/.wp-content الخاص بووردبريس.gravatar=OFF
قد تكون الإضافة نشطة، لكن Breeze لم يُنشئ ملفات تخزين Gravatar المحلية بعد. قم بزيارة صفحة تعرض الصور الرمزية أو استدعِ مسار عرض الصور الرمزية في ووردبريس داخل المختبر.
not vulnerable
الأسباب الشائعة هي إصدارات Breeze المُصححة، أو عدم تثبيت Breeze، أو عدم اكتشاف ووردبريس في الرابط، أو عدم وجود دليل فرعي مثل /lab-wp في مسار الهدف.
Injection failed
قد يكون إعداد Gravatar معطّلًا، أو قد لا يعرض الموقع الصور الرمزية علنًا، أو قد لا يكون مسار التخزين المؤقت قابلاً للكتابة، أو قد لا يمكن الوصول إلى رابط الحمولة البعيد من خادم ووردبريس.
هذا المستودع مخصص للأغراض التعليمية، وإعادة الإنتاج في المختبرات المحلية، والاختبارات الأمنية المصرح بها. لا تشغّله ضد أنظمة لا تملكها أو لا تملك إذنًا صريحًا لاختبارها.
| الحقل | التفاصيل |
|---|
| CVE | CVE-2026-3844 |
| المنتج | Breeze Cache، إضافة تخزين مؤقت لووردبريس |
| البائع | Cloudways |
| نوع الثغرة | رفع ملفات غير مقيد |
| CWE | CWE-434 |
| الخطورة | حرجة، CVSS 9.8 |
| المصادقة | غير مطلوبة |
| الإصدارات المتأثرة | Breeze Cache <= 2.4.4 |
| الإصدار المُصحح | 2.4.5 أو أحدث |
| الإعداد المطلوب | تفعيل Host Files Locally - Gravatars |