
Go के लिए CVE-2025-14847 (MongoBleed) का proof-of-concept exploit, जो MongoDB की मेमोरी प्रकटीकरण भेद्यता है। यह त्रुटि संदेशों के माध्यम से अप्रारंभित सर्वर मेमोरी को लीक करने के लिए दोषपूर्ण BSON दस्तावेज़ तैयार करता है।
इस रिपॉजिटरी में CVE-2025-14847 के लिए एक Go प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट शामिल है, जो MongoDB मेमोरी डिस्क्लोज़र भेद्यता है, जिसे आमतौर पर Mongobleed कहा जाता है।
यह PoC Joe Desimone द्वारा लिखे गए मूल Python एक्सप्लॉइट का Go पुनर्कार्यान्वयन है, जो यहाँ उपलब्ध है:
https://github.com/joe-desimone/mongobleed
यह एक्सप्लॉइट एक भेद्य MongoDB सर्वर से अनइनिशियलाइज़्ड मेमोरी लीक करने के लिए zlib डीकंप्रेशन और BSON पार्सिंग दोष का फायदा उठाता है।
ब्लॉग पोस्ट पढ़ें - https://saereya.github.io/posts/mongobleed-cve-2025-14847/
CVE-2025-14847 MongoDB में संपीड़ित OP_MSG संदेशों के अनुचित हैंडलिंग के कारण होता है। एक विकृत BSON दस्तावेज़ को बढ़ाए गए दस्तावेज़ लंबाई के साथ तैयार करके और इसे OP_COMPRESSED संदेश में लपेटकर, सर्वर डीकंप्रेस्ड बफर की सीमा से परे पढ़ सकता है।
यह MongoDB को बचे हुए मेमोरी को BSON फ़ील्ड नामों के रूप में व्याख्या करने का कारण बन सकता है, जो फिर त्रुटि संदेशों में प्रतिबिंबित होते हैं। इस प्रक्रिया को अलग-अलग ऑफ़सेट पर दोहराने से सर्वर मेमोरी के टुकड़े लीक हो सकते हैं।
यह PoC:
OP_COMPRESSED MongoDB वायर प्रोटोकॉल संदेश में लपेटता हैलीक हुआ डेटा निम्नलिखित जैसी त्रुटि स्ट्रिंग्स से निकाला जाता है:
field name '...'type <n>यह भेद्यता आधिकारिक पैच से पहले के विशिष्ट MongoDB संस्करणों को प्रभावित करती है।
सटीक संस्करण श्रेणियों के लिए MongoDB सुरक्षा सलाहकारों को देखें।
बिल्ड करें:
go build -o mongobleed
चलाएँ:
./mongobleed --host <target> --port 27017
वैकल्पिक फ़्लैग: --min-offset: प्रारंभिक BSON दस्तावेज़ लंबाई (डिफ़ॉल्ट: 20) --max-offset: समाप्ति BSON दस्तावेज़ लंबाई (डिफ़ॉल्ट: 8192)
[*] MongoBleed - CVE-2025-14847
[*] Targetting localhost:27017
[*] Offset: 20 -> 8192
[+] offset= 117 len= 51: ssions^\u0001f\bD\\��A6�;7\u0003��V%\u0019\u001a9ip
[+] offset= 119 len= 51: ssions^\u0001f\bD\\��A6�;7\u0003��V%\u0019\u001a9ip
[+] offset= 120 len= 51: ssions^\u0001f\bD\\��A6�;7\u0003��V%\u0019\u001a9ip
[+] offset= 121 len= 51: ssions^\u0001f\bD\\��A6�;7\u0003��V%\u0019\u001a9ip
यह कोड केवल शैक्षिक और शोध उद्देश्यों के लिए प्रदान किया गया है।
इस टूल को उन सिस्टम्स पर न चलाएँ जिनके स्वामी आप नहीं हैं या जिनके परीक्षण की आपके पास स्पष्ट अनुमति नहीं है। अनधिकृत उपयोग अवैध और अनैतिक हो सकता है।