
Laboratoire d'exploitation, docker et scanner de code pour la vulnérabilité mongobleed CVE-2025-14847 ainsi que les outils de synchronisation Phoenix Security
CVE-2025-14847 | CVSS 8.7 (Élevée) | Divulgation mémoire non authentifiée
📖 Documentation complète • 🔬 Analyse technique • ⚡ Commandes rapides
MongoBleed est une vulnérabilité critique de divulgation mémoire dans la couche de transport réseau de MongoDB qui permet à des attaquants distants non authentifiés d'exfiltrer des données mémoire sensibles du tas, sans aucun identifiant ni interaction utilisateur.
| Catégorie | Description |
|---|---|
| Type d'attaque | Divulgation mémoire distante et non authentifiée |
| Cause racine | La décompression Zlib retourne la taille du tampon alloué au lieu de la longueur réelle des données |
| Données exposées | Mots de passe de bases de données, clés API, jetons de session, identifiants AWS, état interne du serveur |
| Sévérité | CVSS 8.7 (Élevée) – accessible via le réseau, aucune authentification requise |
| Exploitation | Exploitation active observée dans la nature depuis le 28 décembre 2025 |
| Branche | Vulnérable | Corrigée | Action |
|---|---|---|---|
| 8.2.x | 8.2.0 → 8.2.2 | 8.2.3 | Mettre à jour immédiatement |
| 8.0.x | 8.0.0 → 8.0.16 | 8.0.17 | Mettre à jour immédiatement |
| 7.0.x | 7.0.0 → 7.0.27 | 7.0.28 | Mettre à jour immédiatement |
| 6.0.x | 6.0.0 → 6.0.26 | 6.0.27 | Mettre à jour immédiatement |
| 5.0.x | 5.0.0 → 5.0.31 | 5.0.32 | Mettre à jour immédiatement |
| 4.4.x | 4.4.0 → 4.4.29 | 4.4.30 | Mettre à jour immédiatement |
| ≤4.2.x | Toutes les versions | Aucune | ⚠️ Fin de vie – Migrer vers une version prise en charge |
| Aspect | Détails |
|---|---|
| Qu'est-ce qui est vulnérable | La couche de transport réseau du serveur MongoDB utilisant la compression zlib |
| Sévérité | Élevée (CVSS 8.7/7.5) |
| Impact | Divulgation à distance et non authentifiée de mémoire tas non initialisée |
| Pourquoi c'est important | Les 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'exploit | Preuve de concept (PoC) publique "mongobleed" validée et en circulation |
| Que faire aujourd'hui | Mettre à jour vers les versions corrigées immédiatement ou désactiver la compression zlib |
La vulnérabilité réside 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 fuiter des données mémoire sensibles du serveur.
// 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
┌─────────────────────────────────────────────────────────────────────────────┐
│ Vecteur d'attaque MongoBleed │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ATTAQUANT MONGODB VULNÉRABLE │
│ │ │ │
│ │ 1. Envoie un message OP_COMPRESSED │ │
│ │ uncompressedSize: 8192 (MENSONGE) │ │
│ │ données réelles: ~100 octets │ │
│ │────────────────────────────────────> │
│ │ │ │
│ │ 2. Alloue un tampon de 8192 octets │
│ │ 3. Décompresse ~100 octets │
│ │ 4. BOGUE : retourne buffer.length() = 8192 │
│ │ 5. L'analyseur BSON lit la mémoire non initialisée│
│ │ │ │
│ │ 6. Réponse d'erreur avec la mémoire│ │
│ │ divulguée comme "noms de champs" │ │
│ │<──────────────────────────────────── │
│ │ │ │
│ 🔓 DONNÉES DIVULGUÉES : │ │
│ - Clés API, mots de passe, jetons │
│ - État interne de MongoDB │
│ - Configurations WiredTiger │
│ - Informations système /proc │
│ - Données de connexions client │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
| Date | Événement |
|---|---|
| 15 décembre 2025 | Vulnérabilité identifiée ; ticket interne SERVER-115508 |
| 19 décembre 2025 | Correctif publié, CVE-2025-14847 divulgué |
| 24 décembre 2025 | Parc MongoDB Atlas corrigé |
| 26 décembre 2025 | PoC public "mongobleed" publié |
| 28 décembre 2025 | Exploitation observée dans la nature |
🔬 Voir l'analyse technique → pour l'anatomie détaillée de la vulnérabilité, la construction de l'exploit et les méthodes de détection.