Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
mongobleed-exploit-CVE-2025-14847 — Explot, Lab, Scanner - externe et conteneur Docker, pour SMongobleed-CVE-2025-14847 plus phoenix security uploader | Kitploit
Outils/GitHubGitHub/franksec42/mongobleed-exploit-cve-2025-14847
Sécurité des ConteneursCriminalistique MémoireAnalyse des VulnérabilitésExploitationTests d'IntrusionSécurité CloudApprentissage et ÉducationSécurité des Bases de DonnéesLabs et Pratique

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHubfranksec42/mongobleed-exploit-cve-2025-14847

mongobleed-exploit-CVE-2025-14847

Explot, Lab, Scanner - externe et conteneur Docker, pour SMongobleed-CVE-2025-14847 plus phoenix security uploader

Voir le dépôt
3115il y a 7 moisPas encore vérifié

🩸 MongoBleed - CVE-2025-14847 Laboratoire de Recherche en Sécurité

Logo MongoBleed

CVE-2025-14847 | CVSS 8.7 (Élevé) | Divulgation de mémoire non authentifiée


CVE-2025-14847, surnommé MongoBleed, permet à des attaquants distants non authentifiés d'exfiltrer la mémoire tas non initialisée en exploitant la logique de décompression zlib de MongoDB. Cette vulnérabilité de haute sévérité expose des artefacts sensibles, y compris des identifiants en texte clair et des jetons de session, fournissant une feuille de route pour le mouvement latéral et la prise de contrôle complète du serveur.

📖 Documentation complète →


TL;DR pour les équipes d'ingénierie

AspectDétails
Ce qui est vulnérableCouche de transport réseau du serveur MongoDB utilisant la compression zlib
SévéritéÉlevé (CVSS 8.7/7.5)
ImpactDivulgation à distance non authentifiée de mémoire tas non initialisée
Pourquoi c'est importantLes fragments divulgués contiennent des mots de passe de base de données, des clés secrètes AWS et des états internes du serveur
Statut de l'exploitPreuve de concept (PoC) publique « mongobleed » validée et en circulation
Que faire aujourd'huiMettre à niveau vers les versions corrigées immédiatement ou désactiver la compression zlib

Échelle d'exposition

  • 87 000 - 194 000 instances MongoDB exposées publiquement
  • 42 % des environnements cloud affectés (Wiz Research)
  • Aucune authentification requise – les exploits se produisent avant l'authentification

🔬 Anatomie de la vulnérabilité

Analyse technique

La vulnérabilité existe dans la couche de transport réseau de MongoDB (message_compressor_zlib.cpp) où une faille critique dans la logique de décompression zlib permet à des attaquants non authentifiés de divulguer de la mémoire sensible du serveur.

Cause racine

// CODE VULNÉRABLE (avant correction)
counterHitDecompress(input.length(), output.length());
return {output.length()};  // ❌ Retourne la taille du tampon ALLOUÉ

// CODE CORRIGÉ (après correction)  
counterHitDecompress(input.length(), output.length());
return length;             // ✅ Retourne la LONGUEUR RÉELLE des données décompressées

Flux d'exploitation

┌─────────────────────────────────────────────────────────────────────────────┐
│                        Vecteur d'attaque MongoBleed                          │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│   ATTAQUANT                         MongoDB VULNÉRABLE                       │
│      │                                    │                                  │
│      │  1. Envoyer message OP_COMPRESSED  │                                  │
│      │     uncompressedSize: 8192 (MENSONGE) │
│      │     données réelles : ~100 octets   │                                  │
│      │────────────────────────────────────>                                  │
│      │                                    │                                  │
│      │                          2. Allouer un tampon de 8192 octets          │
│      │                          3. Décompresser ~100 octets                  │
│      │                          4. BOGUE : Retourner buffer.length() = 8192  │
│      │                          5. L'analyseur BSON lit la mémoire non init. │
│      │                                    │                                  │
│      │  6. Réponse d'erreur avec mémoire   │                                  │
│      │     divulguée comme « noms de champs »│                               │
│      │<────────────────────────────────────                                  │
│      │                                    │                                  │
│   🔓 DONNÉES DIVULGUÉES :               │                                  │
│      - Clés API, mots de passe, jetons                                          │
│      - État interne MongoDB                                                │
│      - Configurations de stockage WiredTiger                                            │
│      - Informations système /proc                                              │
│      - Données de connexion client                                              │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘

Versions affectées

VersionPlage vulnérableVersion corrigéeStatut
8.2.x8.2.0 - 8.2.28.2.3✅ Corrigée
8.0.x8.0.0 - 8.0.168.0.17✅ Corrigée
7.0.x7.0.0 - 7.0.277.0.28✅ Corrigée
6.0.x6.0.0 - 6.0.266.0.27✅ Corrigée
5.0.x5.0.0 - 5.0.315.0.32✅ Corrigée
4.4.x4.4.0 - 4.4.294.4.30✅ Corrigée
4.2.xToutes les versionsAucune⚠️ Fin de vie
4.0.xToutes les versionsAucune⚠️ Fin de vie
3.6.xToutes les versionsAucune⚠️ Fin de vie

Chronologie de la découverte

DateÉvénement
15 déc. 2025Vulnérabilité identifiée ; ticket interne SERVER-115508
19 déc. 2025Correction publiée, CVE-2025-14847 divulguée
24 déc. 2025Flotte MongoDB Atlas corrigée
26 déc. 2025PoC publique « mongobleed » publiée
28 déc. 2025Exploitation observée dans la nature

📁 Structure du projet

mongobleed-exploit-CVE-2025-14847/
├── exploit/                    # 🔴 Laboratoire d'exploitation
│   ├── docker-compose.yml      # Instances MongoDB vulnérables + corrigées
│   ├── mongobleed.py           # PoC d'exploitation de fuite mémoire
│   ├── init/init-mongo.js      # Données de test sensibles
│   ├── test-exploit.sh         # Script de test du laboratoire
│   └── README.md               # Documentation du laboratoire
│
├── scanner/                    # 🌐 Scanner réseau
│   ├── mongobleed_scanner.py   # Scanner de vulnérabilité IP/domaine
│   ├── sample-targets.txt      # Fichier d'exemple de cibles
│   └── README.md               # Documentation du scanner
│
├── code-scan/                  # 📂 Scanner de code
│   ├── main.py                 # Point d'entrée CLI
│   ├── scanners/               # Scanners Docker, Python, Infrastructure
│   ├── models/                 # Modèles de constatations, de vulnérabilités
│   ├── integrations/           # Envoi vers Phoenix Security
│   └── README.md               # Documentation du scanner de code
│
└── original-exploit/           # 📚 Référence PoC originale

🚀 Démarrage rapide

1. Laboratoire d'exploitation

cd exploit

# Démarrer le laboratoire (instances vulnérable + corrigée)
docker-compose up -d
sleep 10

# Tester l'instance vulnérable (devrait fuir de la mémoire)
python3 mongobleed.py --host localhost --port 27017

# Tester l'instance corrigée (NE DEVRAIT PAS fuir de mémoire)
python3 mongobleed.py --host localhost --port 27018

# Test complet du laboratoire
./test-exploit.sh

2. Scanner réseau

cd scanner

# Scanner un seul hôte
python3 mongobleed_scanner.py 192.168.1.100

# Scanner une plage réseau
python3 mongobleed_scanner.py 192.168.1.0/24

# Scanner depuis un fichier
python3 mongobleed_scanner.py @sample-targets.txt --json --output results.json

3. Scanner de code

cd code-scan

# Scanner un projet pour trouver des versions MongoDB vulnérables
python3 main.py scan /path/to/project
Télécharger l’outil