Skip to content
KitploitKITPLOIT
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-14847 — Outil de détection de la vulnérabilité de fuite de mémoire MongoDB (CVE-2025-14847) | Kitploit
Outils/GitHubGitHub/onewinner/cve-2025-14847
Scanners de VulnérabilitésCriminalistique MémoireExploitationCollecte d'InformationsTests d'IntrusionSécurité des Bases de Données
GitHubonewinner/cve-2025-14847

CVE-2025-14847

Outil de détection de la vulnérabilité de fuite de mémoire MongoDB (CVE-2025-14847)

Voir le dépôt
1421il y a 8 moisPas encore vérifié

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

Outil de détection de la vulnérabilité MongoDB CVE-2025-14847

Outil de détection de la vulnérabilité de fuite de mémoire MongoDB (CVE-2025-14847)


⚠️ Avertissement important : cet outil est destiné uniquement aux tests de sécurité autorisés et à l'évaluation de vulnérabilités. Toute utilisation non autorisée peut enfreindre la loi.


📋 Table des matières

  • Description de la vulnérabilité
  • Fonctionnalités
  • Installation
  • Utilisation
  • Mise en place de l'environnement de test
  • Exemples de sortie
  • Principe de détection
  • Recommandations de correctif
  • Clause de non-responsabilité

🔍 Description de la vulnérabilité

CVE-2025-14847 est une grave vulnérabilité de fuite de mémoire dans le traitement du protocole de compression Zlib de MongoDB. Un attaquant peut envoyer des paquets compressés spécialement conçus pour amener MongoDB à renvoyer des données de mémoire tas non initialisées, susceptibles de contenir des informations sensibles.

Versions affectées

Plage de versionsStatut
8.2.0 - 8.2.2⚠️ Affectée
8.0.0 - 8.0.16⚠️ Affectée
7.0.0 - 7.0.27⚠️ Affectée
6.0.0 - 6.0.26⚠️ Affectée
5.0.0 - 5.0.31⚠️ Affectée
4.4.0 - 4.4.29⚠️ Affectée
4.2.x toutes les versions⚠️ Affectée
4.0.x toutes les versions⚠️ Affectée
3.6.x toutes les versions⚠️ Affectée

Impact de la vulnérabilité

  • 🔴 Gravité : CVSS 8.7 (élevée)
  • 💾 Fuite de mémoire tas contenant des données sensibles
  • 🔑 Peut contenir des mots de passe, jetons de session, clés de chiffrement, etc.
  • 🚫 Exploitable sans authentification
  • 🌐 Exploitable à distance

✨ Fonctionnalités

  • ✅ Détection intelligente - Identifie automatiquement la version de MongoDB et détermine si elle est affectée
  • ✅ Double vérification - Détection de version → Détection du support Zlib → Extraction de la fuite de mémoire
  • ✅ Analyse d'une cible unique - Détecte rapidement une instance MongoDB individuelle
  • ✅ Analyse par lot - Lit une liste de cibles depuis un fichier pour une détection groupée
  • ✅ Analyse concurrente - Prend en charge le multithreading concurrent pour améliorer l'efficacité de l'analyse
  • ✅ Sortie en temps réel - Affiche en temps réel les données mémoire divulguées
  • ✅ Export des résultats - Enregistre automatiquement les cibles vulnérables dans un fichier
  • ✅ Sortie claire et concise - Format de sortie unifié, clair et lisible

🚀 Installation

Méthode 1 : Compilation depuis les sources

root@kitploit:~
# 克隆仓库
git clone https://github.com/onewinner/CVE-2025-14847.git
cd CVE-2025-14847

# 安装依赖
go mod download

# 编译
go build -o mongodb-scanner main.go

# 运行
./mongodb-scanner -t 127.0.0.1:27017

Méthode 2 : Exécution directe

root@kitploit:~
go run main.go -t 127.0.0.1:27017

Méthode 3 : Téléchargement d'une version précompilée

Téléchargez la version précompilée adaptée à votre système depuis la page Releases.

📖 Utilisation

Utilisation de base

root@kitploit:~
# 扫描单个目标
./mongodb-scanner -t 127.0.0.1:27017

# 从文件批量扫描
./mongodb-scanner -f targets.txt

# 批量扫描(20线程)
./mongodb-scanner -f targets.txt -c 20

# 扫描并保存存在漏洞的目标
./mongodb-scanner -f targets.txt -o vulnerable.txt

# 自定义偏移范围(更快速或更深度扫描)
./mongodb-scanner -t 127.0.0.1:27017 --min-offset 20 --max-offset 1000

Paramètres de la ligne de commande

ParamètreDescriptionValeur par défaut
-t <target>Cible unique (par exemple : 127.0.0.1:27017)-
-f <file>Fichier de cibles (une cible par ligne)-
-c <num>Nombre de threads concurrents10
-timeout <time>Délai d'expiration de la connexion2s
-o <file>Fichier de sortie (enregistre les cibles vulnérables)-
--min-offset <num>Décalage minimal de longueur de document20
--max-offset <num>Décalage maximal de longueur de document8192

Format du fichier de cibles

Créez un fichier targets.txt :

root@kitploit:~
# MongoDB 目标列表
127.0.0.1:27017
192.168.1.100:27017
mongodb.example.com:27017

# 如果不指定端口,默认使用 27017
192.168.1.101

🐳 Mise en place de l'environnement de test

Pour tester cet outil en toute sécurité, il est recommandé d'utiliser Docker pour mettre en place un environnement de test local.

Démarrage rapide d'une instance MongoDB vulnérable

root@kitploit:~
# 启动 MongoDB 6.0.14 (受漏洞影响的版本) 并开启 Zlib 压缩
docker run -d \
  --name mongodb-vulnerable \
  -p 27017:27017 \
  mongo:6.0.14 \
  --networkMessageCompressors snappy,zlib

# 查看容器状态
docker ps

# 测试漏洞
./mongodb-scanner -t 127.0.0.1:27017

Utilisation de Docker Compose

Créez un fichier docker-compose.yml :

root@kitploit:~
version: '3.8'

services:
  # 受漏洞影响的版本(开启 Zlib)
  mongodb-vulnerable:
    image: mongo:6.0.14
    container_name: mongodb-vulnerable
    ports:
      - "27017:27017"
    command: mongod --networkMessageCompressors snappy,zlib

  # 已修复的版本(用于对比测试)
  mongodb-patched:
    image: mongo:6.0.27
    container_name: mongodb-patched
    ports:
      - "27018:27017"
    command: mongod --networkMessageCompressors snappy,zlib

volumes:
  mongodb-data:
  mongodb-patched-data:

Démarrage de l'environnement de test :

root@kitploit:~
# 启动所有容器
docker-compose up -d

# 测试受漏洞影响的版本
./mongodb-scanner -t 127.0.0.1:27017

# 测试已修复的版本
./mongodb-scanner -t 127.0.0.1:27018

# 停止并清理
docker-compose down -v

Nettoyage de l'environnement de test

root@kitploit:~
# 停止并删除容器
docker stop mongodb-vulnerable && docker rm mongodb-vulnerable

# 清理数据卷
docker volume prune -f

📊 Exemples de sortie

Explication du format de sortie

L'outil utilise des préfixes unifiés pour marquer les informations de sortie :

  • [*] - Informations (cible, version, configuration, etc.)
  • [+] - Succès / vulnérable / données extraites
  • [-] - Échec / sécurisé / non vulnérable
  • [!] - Avertissement / remarque importante

Analyse d'une cible unique - vulnérable

root@kitploit:~
╔══════════════════════════════════════════════════════════════╗
║  MongoDB CVE-2025-14847 漏洞检测工具                         ║
╚══════════════════════════════════════════════════════════════╝
⚠️  仅用于授权安全测试 | 未经授权测试可能违法

[*] 目标: 1 | 线程: 10 | 超时: 2s | 偏移: 20-1000
[*] 开始扫描...

[*] 目标: 127.0.0.1:27017
[*] 版本: 6.0.14
[+] 漏洞版本: 是
[+] Zlib压缩: 已开启
[!] 漏洞可利用,开始提取内存...
[+] 偏移=229 长度=250: :00\"},\"s\":\"I\",  \"c\":\"NETWORK\",  \"id\":22944,   \"ctx\":\"conn102932\",

[+] 127.0.0.1:27017 - 漏洞可利用 (v6.0.14) - 3468ms
[+] 成功提取 1 项内存数据:
    [1] :00\"},\"s\":\"I\",  \"c\":\"NETWORK\",  \"id\":22944,   \"ctx\":\"conn102932\",\"msg\":\"Connection ended\",\"attr\":{\"remote\":\"172.17.0.1:44936\"...

======================================================================
[*] 扫描完成 | 总数: 1 | 可利用: 1 | 安全: 0 | 耗时: 3.4s
======================================================================

Analyse d'une cible unique - version sécurisée

root@kitploit:~
[*] 目标: 127.0.0.1:27018
[*] 版本: 6.0.27
[-] 漏洞版本: 否

[-] 127.0.0.1:27018 - 版本安全 (v6.0.27) - 156ms

======================================================================
[*] 扫描完成 | 总数: 1 | 可利用: 0 | 安全: 1 | 耗时: 0.2s
======================================================================

Analyse d'une cible unique - Zlib désactivé

root@kitploit:~
[*] 目标: 127.0.0.1:27017
[*] 版本: 6.0.14
[+] 漏洞版本: 是
[-] Zlib压缩: 未开启

[-] 127.0.0.1:27017 - 未开启Zlib (v6.0.14) - 234ms

======================================================================
[*] 扫描完成 | 总数: 1 | 可利用: 0 | 安全: 1 | 耗时: 0.3s
======================================================================

Analyse par lot

root@kitploit:~
[*] 目标: 5 | 线程: 10 | 超时: 2s | 偏移: 20-8192
[*] 开始扫描...

[+] 192.168.1.10:27017 - 漏洞可利用 (v6.0.14) - 3521ms
[+] 成功提取 2 项内存数据:
    [1] Connection ended...
    [2] network statistics...

[-] 192.168.1.11:27017 - 版本安全 (v6.0.27) - 145ms
[-] 192.168.1.12:27017 - 未开启Zlib (v6.0.14) - 198ms
[+] 192.168.1.13:27017 - 漏洞可利用 (v7.0.15) - 2987ms
[!] 192.168.1.14:27017 - 漏洞可利用但未提取到数据 (v6.0.20) - 4123ms

======================================================================
[*] 扫描完成 | 总数: 5 | 可利用: 3 | 安全: 2 | 耗时: 5.2s
======================================================================

[+] 可利用的目标已保存到: vulnerable.txt

🔬 Principe de détection

Cet outil utilise un mécanisme de détection en trois étapes :

1️⃣ Détection de version

  • Se connecte à l'instance MongoDB
  • Récupère les informations de version (commande buildInfo)
  • Détermine si la version se trouve dans la plage affectée par la vulnérabilité

2️⃣ Détection du support de compression Zlib

  • Envoie un paquet de test de compression Zlib
  • Vérifie si le serveur renvoie une réponse compressée
  • Confirme si la compression Zlib est activée

3️⃣ Extraction de la fuite de mémoire

  • Envoie un paquet compressé conçu de manière malveillante
    • Prétend une taille après décompression bien supérieure à la taille réelle
    • Déclenche la lecture de mémoire tas non initialisée par le serveur
  • Analyse plusieurs décalages pour extraire davantage de données
  • Décompresse la réponse du serveur et extrait les noms de champs divulgués
  • Affiche en temps réel les données mémoire découvertes

Logique de détermination

ConditionRésultat
Version vulnérable + Zlib activé + données extraites✅ Vulnérabilité exploitable - affiche les données divulguées
Version vulnérable + Zlib activé + aucune donnée extraite⚠️ Vulnérabilité exploitable mais aucune donnée extraite
Version vulnérable + Zlib désactivé❌ Zlib désactivé - non exploitable
Version non vulnérable✅ Version sécurisée

🛠️ Recommandations de correctif

Correctif urgent

Mettez immédiatement à niveau vers l'une des versions corrigées suivantes :

  • MongoDB Server 8.2.3
  • MongoDB Server 8.0.17
  • MongoDB Server 7.0.28
  • MongoDB Server 6.0.27
  • MongoDB Server 5.0.32
  • MongoDB Server 4.4.30

Mesures d'atténuation temporaires

Si une mise à niveau n'est pas possible à court terme, les mesures temporaires suivantes peuvent être prises :

1. Désactiver la compression Zlib

Configurez dans mongod.conf ou mongos.conf :

root@kitploit:~
net:
  compression:
    compressors: []

Ou excluez explicitement zlib des paramètres de démarrage :

root@kitploit:~
mongod --networkMessageCompressors snappy,zstd

2. Utiliser un autre algorithme de compression

Il est recommandé d'utiliser snappy ou zstd à la place de zlib :

root@kitploit:~
net:
  compression:
    compressors: snappy,zstd

3. Contrôle des accès réseau

  • Limitez l'exposition du port MongoDB aux seules adresses IP de confiance
  • Utilisez des règles de pare-feu ou la configuration bindIp
  • Activez le chiffrement des transmissions TLS/SSL

4. Activer le contrôle d'accès

  • Activez le mécanisme d'authentification (paramètre --auth)
  • Utilisez une politique de mots de passe forts
  • Appliquez le principe du moindre privilège

5. Surveillance et audit

  • Surveillez les connexions anormales et les schémas d'accès mémoire
  • Activez la journalisation des audits
  • Vérifiez régulièrement les journaux de sécurité

⚠️ Remarque importante : les mesures d'atténuation temporaires ne font que réduire le risque ; elles ne constituent pas une solution définitive. Il est fortement recommandé de mettre à niveau vers une version corrigée dès que possible.

⚠️ Clause de non-responsabilité

Remarque importante :

  • ✅ Cet outil est destiné uniquement aux tests de sécurité autorisés et à l'évaluation de vulnérabilités
  • ✅ Avant d'utiliser cet outil, assurez-vous d'être autorisé à tester le système cible
  • ❌ Une analyse non autorisée peut enfreindre les lois et règlements
  • ❌ L'auteur n'est pas responsable de toute utilisation abusive

En utilisant cet outil, vous acceptez :

  1. De l'utiliser uniquement sur des systèmes pour lesquels vous disposez d'une autorisation explicite
  2. De respecter les lois et règlements de votre région
  3. D'assumer la responsabilité de toute conséquence découlant de l'utilisation de cet outil

📄 Licence

Ce projet est publié sous licence open source MIT License.

🤝 Contribution

Les Issues et Pull Requests sont les bienvenus !

Guide de contribution

  1. Forkez ce dépôt
  2. Créez votre branche de fonctionnalité (git checkout -b feature/AmazingFeature)
  3. Commitez vos modifications (git commit -m 'Add some AmazingFeature')
  4. Poussez vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

📚 Références

  • Détails de CVE-2025-14847
  • Bulletin de sécurité MongoDB
  • Guide de mise à niveau MongoDB
  • Configuration de la compression MongoDB

👨‍💻 Auteur

onewinner - @onewinner

Adresse du projet : https://github.com/onewinner/CVE-2025-14847

📝 Journal des modifications

v1.0.0 (2025-12-26)

  • 🎉 Publication de la version initiale
  • ✅ Prise en charge de l'analyse d'une cible unique et de l'analyse par lot
  • ✅ Prise en charge de l'analyse concurrente multithread
  • ✅ Détection automatique de version et évaluation des risques
  • ✅ Détection intelligente des fuites de mémoire
  • ✅ Recommandations de correctif détaillées

⭐ Si ce projet vous a été utile, merci de lui donner une Star !

Made with ❤️ by Security Researchers

Télécharger l’outil