MongoDB Python Driver: Out-of-bounds read in BSON decoding via a malformed Regex element
### Impact The C extension's BSON decoder scans a Regex element's pattern and flags strings with strlen before checking the document's remaining length, so a crafted truncated Regex element can read past the end of the caller's buffer. bson.decode and bson.decode_all accept mmap and array buffers, which carry no NUL sentinel; the read can cross into unmapped memory and kill the process with an uncatchable SIGSEGV. Any application decoding untrusted BSON from such buffers is affected — impact is availability only, since the out-of-bounds bytes are never returned as content. NUL-terminated buffers (bytes, bytearray) raise `InvalidBSON` at worst; the driver's own transport and pure-Python installs are not affected. All releases through 4.18.2 are affected when the C extension is loaded. ### Patches Fixed in PyMongo 4.18.3. Malformed Regex elements now raise InvalidBSON on every accepted buffer type; valid documents decode unchanged. ### Workarounds Decode untrusted BSON only from NUL-terminated buffers — bytes or bytearray — and copy mmap input first, e.g. bytes(mm[:size]).
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-106435US | medium4.7 | — | ||
The MongoDB Python Driver's binary accelerator can read outside a buffer when an application decodes malformed BSON containing a truncated regular-expression element without a trai… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/mongodb/mongo-python-driverPACKAGE
- https://github.com/mongodb/mongo-python-driver/commit/bb8d4e195275e75bd94ebeffb53cc747d357fcf4WEB
- https://github.com/mongodb/mongo-python-driver/pull/3109WEB
- https://github.com/mongodb/mongo-python-driver/releases/tag/4.18.3WEB
- https://github.com/mongodb/mongo-python-driver/security/advisories/GHSA-98qm-wvgf-w4cfWEB
- https://jira.mongodb.org/browse/PYTHON-6110WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-106435ADVISORY
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan