
Mongobleed Detector CVE-2025-14847
CVE-2025-14847 (MongoBleed) - MongoDB मेमोरी लीक भेद्यता के लिए एक पेशेवर भेद्यता स्कैनर।
+================================================================+
| MongoBleed Scanner v1.3.0 |
| CVE-2025-14847 - MongoDB Memory Leak Vulnerability |
+================================================================+
CVE-2025-14847 (MongoBleed) MongoDB के zlib संपीड़न हैंडलिंग में एक गंभीर मेमोरी लीक भेद्यता है।
संपीड़ित संदेशों (zlib के साथ OP_COMPRESSED) को संसाधित करते समय, MongoDB क्लाइंट द्वारा प्रदान किए गए uncompressedSize फ़ील्ड के आधार पर एक बफर आवंटित करता है। एक दुर्भावनापूर्ण क्लाइंट वास्तविक डेटा से बड़ा आकार निर्दिष्ट कर सकता है, जिससे MongoDB पिछले संचालनों से संवेदनशील डेटा युक्त अप्रारंभित हीप मेमोरी वापस कर सकता है।
| शाखा | भेद्य संस्करण | स्थिर संस्करण |
|---|---|---|
| 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 |
| 4.4.x | 4.4.0 - 4.4.29 | 4.4.30 |
| ≤4.2 | सभी संस्करण | EOL - कोई पैच नहीं |
कोई अतिरिक्त पैकेज आवश्यक नहीं है। स्कैनर केवल Python के मानक पुस्तकालय का उपयोग करता है।
# डिफ़ॉल्ट पोर्ट (27017)
python scanner.py -t 192.168.1.100
# कस्टम पोर्ट
python scanner.py -t 192.168.1.100:27018
# अल्पविराम-पृथक
python scanner.py -t 192.168.1.100,192.168.1.101:27018,db.example.com
# targets.txt (एक प्रति पंक्ति, # टिप्पणियों के लिए)
# 192.168.1.100
# 192.168.1.101:27018
# mongodb.example.com
python scanner.py -f targets.txt
# सादा पाठ
python scanner.py -t 192.168.1.100 -o report.txt
# JSON (विस्तृत)
python scanner.py -t 192.168.1.100 -o report.json
# CSV (स्प्रेडशीट)
python scanner.py -t 192.168.1.100 -o report.csv
| विकल्प | विवरण |
|---|---|
-t, --targets | अल्पविराम-पृथक लक्ष्य (होस्ट या होस्ट:पोर्ट) |
-f, --file | लक्ष्यों वाली फ़ाइल (एक प्रति पंक्ति) |
-o, --output | निर्यात फ़ाइल (.txt, .json, .csv) |
-q, --quiet | केवल सारांश दिखाएँ |
-v, --version | संस्करण दिखाएँ |
-h, --help | सहायता दिखाएँ |
| प्रतीक | स्थिति | विवरण |
|---|---|---|
[!] | भेद्य (VULNERABLE) | पुष्टि भेद्य, तत्काल कार्रवाई आवश्यक |
[?!] | संभवतः भेद्य (POSSIBLY VULNERABLE) | संस्करण का अनुमान लगाया गया, मैन्युअल सत्यापन आवश्यक |
[+] | सुरक्षित (SAFE) | पैच किया गया संस्करण |
[~] | शमित (MITIGATED) | भेद्य संस्करण लेकिन zlib अक्षम |
[?] | अज्ञात (UNKNOWN) | स्थिति निर्धारित नहीं की जा सकी |
[-] | अप्राप्य (UNREACHABLE) | कनेक्शन विफल |
+================================================================+
| MongoBleed Scanner v1.3.0 |
| CVE-2025-14847 - MongoDB Memory Leak Vulnerability |
+================================================================+
| LEGAL: Authorized security testing only. Obtain permission |
| before scanning systems you do not own. |
+================================================================+
[*] Loaded 4 target(s)
SCAN RESULTS:
----------------------------------------------------------------------
[!] 192.168.1.100:27017 VULNERABLE v8.0.16 zlib:ON -> Update to 8.0.17
[?!] 192.168.1.101:27018 POSSIBLY VULNERABLE v~8.2.x zlib:ON -> Check version, update to 8.2.3
[+] 192.168.1.102:27017 SAFE v8.0.17 zlib:ON
[~] 192.168.1.103:27017 MITIGATED v8.0.16 zlib:OFF (zlib disabled)
======================================================================
SCAN SUMMARY
======================================================================
Total targets scanned: 4
Reachable: 4
Unreachable: 0
----------------------------------------------------------------------
[!] VULNERABLE: 1
[?!] POSSIBLY VULN: 1 (version estimated, needs verification)
[+] SAFE (patched): 1
[~] MITIGATED: 1 (vulnerable version but zlib disabled)
[?] UNKNOWN: 0
======================================================================
VULNERABLE TARGETS REQUIRING IMMEDIATE ACTION:
----------------------------------------------------------------------
192.168.1.100:27017 v8.0.16 zlib:ON -> Upgrade to 8.0.17
v8.0.16 — सटीक संस्करण का पता चलाv~8.2.x — वायर प्रोटोकॉल से अनुमानित (~ अनुमान इंगित करता है)अनुमान तब होता है जब MongoDB 8.2+ को संस्करण कमांड के लिए प्रमाणीकरण की आवश्यकता होती है। स्कैनर वायर प्रोटोकॉल संस्करण मैपिंग पर वापस आ जाता है।
1. TCP Connection
└── MongoDB पोर्ट से कनेक्ट करें
2. Version Detection
├── 'hello' कमांड भेजें (वायर संस्करण प्राप्त करें, कोई प्रमाणीकरण आवश्यक नहीं)
└── 'buildInfo' कमांड भेजें (सटीक संस्करण प्राप्त करें, प्रमाणीकरण की आवश्यकता हो सकती है)
3. Compression Check
└── zlib-संपीड़ित संदेश भेजें, जाँचें कि सर्वर स्वीकार करता है या नहीं
4. Assessment
└── भेद्यता डेटाबेस के विरुद्ध संस्करण + zlib स्थिति की तुलना करें
जब सटीक संस्करण अनुपलब्ध हो (प्रमाणीकरण आवश्यक), स्कैनर maxWireVersion से अनुमान लगाता है:
| वायर संस्करण | MongoDB शाखा |
|---|---|
| 25 | 8.0.x |
| 27 | 8.2.x |
| 21 | 7.0.x |
| 17 | 6.0.x |
| 13 | 5.0.x |
VULNERABLE = (संस्करण भेद्य सीमा में) AND (zlib सक्षम)
MITIGATED = (संस्करण भेद्य सीमा में) AND (zlib अक्षम)
SAFE = (संस्करण >= स्थिर संस्करण)
| वर्तमान संस्करण | अपडेट करें |
|---|---|
| 8.2.0 - 8.2.2 | 8.2.3+ |
| 8.0.0 - 8.0.16 | 8.0.17+ |
| 7.0.0 - 7.0.27 | 7.0.28+ |
| 6.0.0 - 6.0.26 | 6.0.27+ |
| 5.0.0 - 5.0.31 | 5.0.32+ |
| 4.4.0 - 4.4.29 | 4.4.30+ |
# mongod.conf
net:
compression:
compressors: snappy,zstd # 'zlib' हटाएँ
या कमांड लाइन के माध्यम से:
mongod --networkMessageCompressors snappy,zstd
THIS TOOL IS PROVIDED FOR AUTHORIZED SECURITY TESTING ONLY.
You must obtain proper authorization before scanning any systems
you do not own or have explicit written permission to test.
Unauthorized access to computer systems is illegal.
The authors assume no liability for misuse of this tool.
| कोड | अर्थ |
|---|---|
| 0 | सभी लक्ष्य सुरक्षित या शमित |
| 1 | कनेक्शन त्रुटियाँ हुईं |
| 2 | भेद्य लक्ष्य मिले |
स्क्रिप्टिंग के लिए उपयोगी:
python scanner.py -t mongodb.example.com
if [ $? -eq 2 ]; then
echo "ALERT: Vulnerable MongoDB detected!"
fi
केवल अधिकृत सुरक्षा परीक्षण और अनुसंधान उद्देश्यों के लिए।