
MongoDB >v8.0 <8.0.7, >v7.0 <7.0.19, >v6.0 <6.0.22 में $mergeCursors के अनुचित हैंडलिंग के कारण उचित प्राधिकरण के बिना डेटा तक पहुँचने के लिए एग्रीगेशन पाइपलाइन तैयार करें।
MongoDB >v8.0 <8.0.7, >v7.0 <7.0.19, >v6.0 <6.0.22 में $mergeCursors के अनुचित संचालन के कारण बिना उचित प्राधिकरण के डेटा तक पहुँचने के लिए एग्रीगेशन पाइपलाइन तैयार करें।
बहुत मुश्किल नहीं - बस pip3 का उपयोग करके आवश्यकताओं को स्थापित करें: pip install -r requirements
python3 CVE-2025-6713
अपने आप परीक्षण करने के लिए क्या करें
पंक्ति 4, 5, 6, 7, 9, 10:
mconnect = "mongodb://localhost:27017"
dbname = ""
acollection = ""
rcollection = ""
USERNAME = ""
PASSWORD = ""
आप कर सकते हैं:
mconnect को अपने स्वयं के मोंगो URI में बदलें ताकि अपने डेटाबेस से कनेक्ट हो सकें
dbname को अपने DB नाम में बदलें (एक से अधिक DB का परीक्षण करने के लिए रेपो का उपयोग करें, संशोधित करें या फोर्क करें)
acollection को सार्वजनिक रूप से उपलब्ध (सुलभ) कलेक्शन में बदलें
rcollection को सार्वजनिक रूप से उपलब्ध नहीं (प्रतिबंधित) कलेक्शन में बदलें
मुझे लगता है USERNAME और PASSWORD सामान्य ज्ञान हैं
पंक्ति 17 और 18 (setupTest(db) में, [acollection].insert_many([... के बाद):
{"name": "pubthing1", "data": "pub stuff"},
{"name": "pubthing2", "data": "pub stuff"}
यहाँ, स्क्रिप्ट DB में केवल परीक्षण डेटा सम्मिलित कर रही है (कुछ विशिष्ट होना आवश्यक नहीं है। यह शाब्दिक रूप से कुछ भी हो सकता है)
पंक्ति 22 और 23 (setupTest(db) में, [rcollection].insert_many([... के बाद):
{"name": "secret", "stuff": "my national insurance number"},
{"name": "shhhh", "boo": "location of pringles in my house"}
यह भी शाब्दिक रूप से कुछ भी हो सकता है। इसके साथ मज़े करें।
बाकी - तब तक न बदलें जब तक आप नहीं जानते कि आप क्या कर रहे हैं, अन्यथा आप सिर्फ भ्रमित और गुस्सा हो जाएंगे।