Betroffene Akamai-Hunt-Kunden haben bereits eine detaillierte Zuordnung anfälliger Assets mit umsetzbaren Maßnahmen zur Risikominderung erhalten.
Zusammenfassung
Am 19. Dezember 2025 wurde eine neue Schwachstelle in Instanzen von MongoDB gemeldet, die die meisten MongoDB-Bereitstellungen betrifft.
Die Sicherheitslücke namens MongoBleed liegt in der Verarbeitung zlib-komprimierter Nachrichten durch MongoDB und ermöglicht nicht authentifizierten Clients, nicht initialisierten Heap-Speicher aus der Datenbank auszulesen.
Diese CVE wurde mit einem Schweregrad von 8,7 nach CVSSv4 bewertet.
Am 29. Dezember 2025 nahm die Cybersecurity and Infrastructure Security Agency (CISA) CVE-2025-14847 in ihren KEV-Katalog (Known Exploited Vulnerabilities, bekannte ausgenutzte Schwachstellen) auf, um die aktive Ausnutzung zu bestätigen. Parallel dazu zeigt die Telemetrie von Akamai, dass MongoDB-Kommunikation in etwa 62 % der Unternehmensnetzwerke stattfindet.
In diesem Blogbeitrag finden Sie eine technische Aufschlüsselung von MongoBleed, einen Überblick über die betroffenen MongoDB-Versionen (zusammen mit einer Patch-Analyse) und praktische Hinweise zu den Abwehrmaßnahmen, darunter Akamai Guardicore Segmentation Insight-Abfragen zur Identifizierung anfälliger Assets.
Schwachstellendetails
MongoBleed basiert auf der Verarbeitung komprimierter Wire-Protocol-Nachrichten durch MongoDB. Dabei handelt es sich um eine Funktion, die standardmäßig aktiviert ist.
MongoDB kommuniziert mit Nachrichten, die mit dem Opcode OP_MSG markiert sind, wobei Anfrage-Payloads im JSON-Format (BSON) codiert werden. Beim Senden einer komprimierten Nachricht wird die ursprüngliche OP_MSG Payload in eine OP_COMPRESSED-Struktur eingebettet
Eine OP_COMPRESSED-Nachricht enthält die OP_MSG-Payload und die erwartete Größe der nicht komprimierten Payload.
struct OP_COMPRESSED {
struct MsgHeader {
int32 messageLength;
int32 requestID;
int32 responseTo;
int32 opCode;
};
int32_t originalOpcode;
int32_t uncompressedSize;
uint8_t compressorId;
char *compressedMessage;
};
Ein Angreifer kann das Feld uncompressedSize manipulieren, sodass es größer ist als die tatsächliche Größe der komprimierten Payload. Da dieser Wert nicht validiert ist, führt diese Manipulation zu einer zu großen Pufferzuweisung, die mit nicht initialisiertem Heap-Speicher gefüllt ist.
Dieser ausgelesene Speicher kann Fragmente von Klartextpasswörtern, Zugangsdaten, API-Schlüsseln oder anderen sensiblen speicherinternen Daten enthalten, je nachdem, was zuvor den Heap belegt hat.
Die Schwachstelle wird durch die Fehlerbehandlungslogik von MongoDB weiter verstärkt. Wenn das gesendete BSON-Objekt im falschen Format keinen Null-Terminator enthält, analysiert der Server den Speicher, bis ein Fehler auftritt. Wenn das Parsen letztendlich fehlschlägt, gibt der Server eine Fehlerantwort zurück, die die ursprüngliche Nachricht und die ausgelesenen Heap-Inhalte enthält.
Zum Zeitpunkt des Schreibens berichtet Shodan von mehr als 213.000 im Internet exponierte MongoDB-Instanzen, während Censys über 87.000 meldet, was die große Verbreitung der Schwachstelle hervorhebt.
Öffentliche Exploit-Möglichkeit
Wenige Tage nach der Offenlegung wurde ein funktionierender Exploit auf GitHub veröffentlicht. Der Exploit basiert auf dem Senden wiederholter, falsch formatierter komprimierter Anfragen, sodass Angreifer schrittweise große Teile des Heap-Speichers auslesen können.
Betroffene Versionen
MongoBleed betrifft die folgenden Versionen von MongoDB:
8.2.0–8.2.2
8.0.0–8.0.16
7.0.0–7.0.27
6.0.0–6.0.26
5.0.0–5.0.31
4.4.0–4.4.29
Alle Versionen von 3.6, 4.0 und 4.2
Patch-Analyse
Der einzeilige Patch berechnet die Größe der Nachricht, die aus der Ausgabegröße abgeleitet wird, anstatt einfach dem in der „OP_COMPRESSED BSON“ angegebenen Wert zu vertrauen. So wird sichergestellt, dass über die tatsächliche Nachrichtengröße hinaus kein zusätzlicher Speicher zugewiesen wird.
- return {output.length()};
+ return length;
Abwehr
Upgrade auf eine gepatchte Version durchführen
Ein Patch wurde in den Versionen 8.2.3, 8.0.17, 7.0.28, 6.0.27, 5.0.32. und 4.4.30. aufgespielt.
Durch ein Upgrade auf eine dieser Versionen wird die Schwachstelle vollständig behoben.
Gefährdung durch Netzwerksegmentierung reduzieren
Bis ein Patch aufgespielt wurde, kann die Gefährdung durch Segmentierung erheblich reduziert werden, indem:
Eingehender Internetzugriff auf MongoDB-Instanzen auf Port TCP/27017 blockiert wird
Nur Verbindungen von explizit vertrauenswürdigen Quellen zugelassen werden
Anfällige Hosts mit Akamai Guardicore Segmentation identifizieren
Die folgenden Akamai Guardicore Segmentation Insight-Abfragen identifizieren Hosts, auf denen anfällige MongoDB-Instanzen ausgeführt werden.
Linux-Assets
WITH LINUX AS (
SELECT DISTINCT name, version, source
FROM deb_packages
WHERE name = 'mongodb-org-server'
UNION ALL
SELECT DISTINCT name, version, source
FROM rpm_packages
WHERE name = 'mongodb-org-server'
),
PARSED AS (
SELECT name, source, version,
CAST(REGEX_MATCH(version, '([0-9]+)\.([0-9]+)\.([0-9]+)', 1) AS INTEGER) AS major,
CAST(REGEX_MATCH(version, '([0-9]+)\.([0-9]+)\.([0-9]+)', 2) AS INTEGER) AS minor,
CAST(REGEX_MATCH(version, '([0-9]+)\.([0-9]+)\.([0-9]+)', 3) AS INTEGER) AS patch
FROM LINUX
)
SELECT name, source, version
FROM PARSED
WHERE
(major = 8 AND minor = 2 AND patch BETWEEN 0 AND 2)
OR
(major = 8 AND minor = 0 AND patch BETWEEN 0 AND 16)
OR
(major = 7 AND minor = 0 AND patch BETWEEN 0 AND 27)
OR
(major = 6 AND minor = 0 AND patch BETWEEN 0 AND 26)
OR
(major = 5 AND minor = 0 AND patch BETWEEN 0 AND 31)
OR
(major = 4 AND minor = 4 AND patch BETWEEN 0 AND 29)
OR
(major = 3 AND minor = 6)
OR
(major = 4 AND minor IN (0, 2))
Windows-Assets
WITH WINDOWS AS (
WITH MONGO_PROGRAMS AS (
SELECT DISTINCT name, version, install_source AS source, REGEX_MATCH(name, 'MongoDB [0-9].*', 0) AS mongo_match
FROM programs
WHERE name LIKE "MongoDB%"
)
SELECT DISTINCT name, version, source
FROM MONGO_PROGRAMS
WHERE LENGTH(mongo_match) > 0
),
PARSED AS (
SELECT name, source, version,
CAST(REGEX_MATCH(version, '([0-9]+)\.([0-9]+)\.([0-9]+)', 1) AS INTEGER) AS major,
CAST(REGEX_MATCH(version, '([0-9]+)\.([0-9]+)\.([0-9]+)', 2) AS INTEGER) AS minor,
CAST(REGEX_MATCH(version, '([0-9]+)\.([0-9]+)\.([0-9]+)', 3) AS INTEGER) AS patch
FROM WINDOWS
)
SELECT name, source, version
FROM PARSED
WHERE
(major = 8 AND minor = 2 AND patch BETWEEN 0 AND 2)
OR
(major = 8 AND minor = 0 AND patch BETWEEN 0 AND 16)
OR
(major = 7 AND minor = 0 AND patch BETWEEN 0 AND 27)
OR
(major = 6 AND minor = 0 AND patch BETWEEN 0 AND 26)
OR
(major = 5 AND minor = 0 AND patch BETWEEN 0 AND 31)
OR
(major = 4 AND minor = 4 AND patch BETWEEN 0 AND 29)
OR
(major = 3 AND minor = 6)
OR
(major = 4 AND minor IN (0, 2))
Komprimierte Anfragen deaktivieren (temporäre Abwehrmaßnahme)
Wenn ein Upgrade oder eine Segmentierung der Instanz nicht möglich ist, können zlib-komprimierte Anfragen deaktiviert werden, um eine Ausnutzung zu verhindern. Detaillierte Anweisungen finden Sie im offiziellen MongoDB Issue Tracker.
Zusammenfassung
MongoBleed (CVE-2025-14847) ist eine remote ausnutzbare MongoDB-Schwachstelle, die nicht authentifizierten Angreifern ermöglicht, nicht initialisierten Heap-Speicher auszulesen.
Da öffentliche Exploits verfügbar und Zehntausende von Instanzen aus dem Internet zugänglich sind, besteht die Gefahr von Datenlecks. Unternehmen, die betroffene Versionen ausführen, sollten ein Upgrade auf eine gepatchte Version durchführen oder Regeln zur Netzwerksegmentierung anwenden, um die Gefahr zu reduzieren.
Wir halten Sie auf dem Laufenden
Die Akamai Security Intelligence Group wird weiterhin sowohl für unsere Kunden als auch für die gesamte Sicherheitscommunity solche Bedrohungen überwachen, Berichte darüber erstellen und Maßnahmen zur Abwehr entwickeln. Besuchen Sie unsere Forschungs-Homepage und folgen Sie uns in den sozialen Medien, um über weitere Neuigkeiten von der Akamai Security Intelligence Group informiert zu werden.
Tags