
crear una pipeline de agregación para acceder a datos sin la autorización adecuada debido al manejo inadecuado de $mergeCursors en MongoDB >v8.0 <8.0.7, >v7.0 <7.0.19, >v6.0 <6.0.22
Creación de un pipeline de agregación para acceder a datos sin la autorización adecuada debido al manejo incorrecto de $mergeCursors en MongoDB >v8.0 <8.0.7, >v7.0 <7.0.19, >v6.0 <6.0.22
no es muy difícil, solo usa pip3 para instalar los requisitos: pip install -r requirements
python3 CVE-2025-6713
qué hacer para probarlo por tu cuenta
Líneas 4, 5, 6, 7, 9, 10:
mconnect = "mongodb://localhost:27017"
dbname = ""
acollection = ""
rcollection = ""
USERNAME = ""
PASSWORD = ""
puedes:
cambiar mconnect por tu propia URI de mongo para conectar a tu base de datos
cambiar dbname por el nombre de tu base de datos (usa, modifica o bifurca el repositorio para que pruebe más de una base de datos)
cambiar acollection por una colección disponible públicamente (accesible)
cambiar rcollection por una colección no disponible públicamente (restringida)
creo que USERNAME y PASSWORD son de sentido común
Líneas 17 y 18 (en setupTest(db), después de [acollection].insert_many([...):
{"name": "pubthing1", "data": "pub stuff"},
{"name": "pubthing2", "data": "pub stuff"}
aquí, el script solo inserta datos de prueba en la base de datos (NO tiene que ser algo específico. puede ser literalmente cualquier cosa)
Líneas 22 y 23 (en setupTest(db), después de [rcollection].insert_many([...):
{"name": "secret", "stuff": "my national insurance number"},
{"name": "shhhh", "boo": "location of pringles in my house"}
esto también puede ser literalmente cualquier cosa. diviértete con ello.
el resto, no lo cambies a menos que sepas lo que estás haciendo, de lo contrario solo te confundirás y te enojarás