
शोषण प्रयोगशाला, डॉकर और कोड स्कैनर mongobleed भेद्यता CVE-2025-14847 के लिए, साथ ही Phoenix Security Sync उपकरण
CVE-2025-14847 | CVSS 8.7 (उच्च) | अनधिकृत मेमोरी प्रकटीकरण
📖 पूर्ण दस्तावेज़ीकरण • 🔬 तकनीकी विश्लेषण • ⚡ त्वरित कमांड
MongoBleed MongoDB के नेटवर्क ट्रांसपोर्ट लेयर में एक गंभीर मेमोरी प्रकटीकरण भेद्यता है जो अनधिकृत दूरस्थ हमलावरों को बिना किसी क्रेडेंशियल या उपयोगकर्ता इंटरैक्शन के संवेदनशील हीप मेमोरी को बाहर निकालने की अनुमति देती है।
| श्रेणी | विवरण |
|---|---|
| हमले का प्रकार | दूरस्थ, अनधिकृत मेमोरी प्रकटीकरण |
| मूल कारण | Zlib डीकंप्रेशन वास्तविक डेटा लंबाई के बजाय आवंटित बफर आकार लौटाता है |
| उजागर डेटा | डेटाबेस पासवर्ड, API कुंजियाँ, सत्र टोकन, AWS क्रेडेंशियल, आंतरिक सर्वर स्थिति |
| गंभीरता | CVSS 8.7 (उच्च) - नेटवर्क-सुलभ, कोई प्रमाणीकरण आवश्यक नहीं |
| शोषण | 28 दिसंबर, 2025 से जंगली में सक्रिय शोषण देखा गया |
| शाखा | असुरक्षित | सुरक्षित | कार्रवाई |
|---|---|---|---|
| 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.x | सभी संस्करण | कोई नहीं | ⚠️ EOL - समर्थित संस्करण में माइग्रेट करें |
| पहलू | विवरण |
|---|---|
| क्या असुरक्षित है | zlib संपीड़न का उपयोग करने वाली MongoDB सर्वर नेटवर्क ट्रांसपोर्ट लेयर |
| गंभीरता | उच्च (CVSS 8.7/7.5) |
| प्रभाव | अनधिकृत, अप्रारंभित हीप मेमोरी का दूरस्थ प्रकटीकरण |
| यह क्यों मायने रखता है | लीक हुए टुकड़ों में डेटाबेस पासवर्ड, AWS गुप्त कुंजियाँ और आंतरिक सर्वर स्थितियाँ होती हैं |
| शोषण स्थिति | सार्वजनिक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) "mongobleed" मान्य और प्रसारित हो रहा है |
| आज क्या करें | तुरंत पैच किए गए संस्करणों में अपग्रेड करें या zlib संपीड़न अक्षम करें |
भेद्यता MongoDB के नेटवर्क ट्रांसपोर्ट लेयर (message_compressor_zlib.cpp) में मौजूद है जहां zlib डीकंप्रेशन लॉजिक में एक महत्वपूर्ण दोष अनधिकृत हमलावरों को संवेदनशील सर्वर मेमोरी लीक करने की अनुमति देता है।
// VULNERABLE CODE (before fix)
counterHitDecompress(input.length(), output.length());
return {output.length()}; // ❌ Returns ALLOCATED buffer size
// PATCHED CODE (after fix)
counterHitDecompress(input.length(), output.length());
return length; // ✅ Returns ACTUAL decompressed data length
┌─────────────────────────────────────────────────────────────────────────────┐
│ MongoBleed Attack Vector │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ATTACKER VULNERABLE MongoDB │
│ │ │ │
│ │ 1. Send OP_COMPRESSED message │ │
│ │ uncompressedSize: 8192 (LIE) │ │
│ │ actual data: ~100 bytes │ │
│ │────────────────────────────────────> │
│ │ │ │
│ │ 2. Allocate 8192-byte buffer │
│ │ 3. Decompress ~100 bytes │
│ │ 4. BUG: Return buffer.length() = 8192 │
│ │ 5. BSON parser reads uninitialized memory │
│ │ │ │
│ │ 6. Error response with leaked │ │
│ │ memory as "field names" │ │
│ │<──────────────────────────────────── │
│ │ │ │
│ 🔓 LEAKED DATA: │ │
│ - API keys, passwords, tokens │
│ - MongoDB internal state │
│ - WiredTiger storage configs │
│ - System /proc information │
│ - Client connection data │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
| तिथि | घटना |
|---|---|
| 15 दिसम्बर 2025 | भेद्यता की पहचान की गई; आंतरिक टिकट SERVER-115508 |
| 19 दिसम्बर 2025 | फिक्स जारी किया गया, CVE-2025-14847 का खुलासा हुआ |
| 24 दिसम्बर 2025 | MongoDB Atlas फ्लीट पैच किया गया |
| 26 दिसम्बर 2025 | सार्वजनिक PoC "mongobleed" जारी किया गया |
| 28 दिसम्बर 2025 | जंगली में शोषण देखा गया |
🔬 तकनीकी विश्लेषण देखें → विस्तृत भेद्यता शरीर रचना, शोषण निर्माण और पहचान विधियों के लिए।
mongobleed-exploit-CVE-2025-14847/
├── exploit/ # 🔴 Exploit Lab
│ ├── docker-compose.yml # Vulnerable + Patched MongoDB instances
│ ├── mongobleed.py # Memory leak exploit PoC
│ ├── init/init-mongo.js # Sensitive test data
│ ├── test-exploit.sh # Lab test script
│ └── README.md # Lab documentation
│
├── scanner/ # 🌐 Network Scanner
│ ├── mongobleed_scanner.py # IP/domain vulnerability scanner
│ ├── sample-targets.txt # Sample targets file
│ └── README.md # Scanner documentation
│
├── code-scan/ # 📂 Code Scanner
│ ├── main.py # CLI entry point
│ ├── scanners/ # Docker, Python, Infra scanners
│ ├── models/ # Finding, Vulnerability models
│ ├── integrations/ # Phoenix Security upload
│ └── README.md # Code scanner documentation
│
└── original-exploit/ # 📚 Original PoC reference
cd exploit
# Start lab (vulnerable + patched instances)
docker-compose up -d
sleep 10
# Test vulnerable instance (should leak memory)
python3 mongobleed.py --host localhost --port 27017
# Test patched instance (should NOT leak memory)
python3 mongobleed.py --host localhost --port 27018