-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Critical - P2
-
None
-
Affects Version/s: 3.6.0
-
Component/s: None
-
None
-
Server Programmability
-
ALL
-
-
Programmability 2026-01-05
-
None
-
None
-
None
-
None
-
None
-
None
-
None
There is a vulnerability that exists in MongoDB's zlib compression handling in src/mongo/transport/message_compressor_zlib.cpp.
This bug is causing MongoDB to return uninitialized heap memory to unauthenticated clients due to a length mismatch in the decompression logic.
Additional details:
The original code in the decompress() function returned output.length() which represents the allocated buffer size, not the actual decompressed data length. This mismatch allowed attackers to read beyond the intended payload into uninitialized heap memory.
Proposed Fix
// File: src/mongo/transport/message_compressor_zlib.cpp // Function: decompress() // BEFORE <= This is a vulnerable code return {output.length()}; // AFTER <= This is my proposed fix that fixes the root cause return length;
- backported by
-
SERVER-115508 Make minimally sized buffers for uncompressed Messages
-
- Closed
-