GHSA-v4x9-3549-crwv: Integer Overflow
An integer overflow in the BSON document encoding component of the MongoDB Python Driver's bundled native extension may occur when a single document is built from an unusually large amount of caller-supplied data. Size arithmetic is performed in a signed 32-bit type, and the guard meant to catch the overflow is written in a form whose behavior is not defined by the C language standard. A party with no privileges who can place a very large value into data that an application encodes may, depending on how the native extension was built, cause a write outside the bounds of an allocated buffer inside the application's own process.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/pymongoto a version that resolves this vulnerability.Fixed in 4.18.2
Event History
Frequently Asked Questions
Who is exposed to this issue?
Applications using the MongoDB Python Driver's bundled native extension are exposed when they encode a single BSON document containing an unusually large amount of caller-supplied data. The relevant attacker may be unauthenticated if they can cause the application to place that data into a document it encodes.
What does exploitation require?
An attacker needs to supply or influence a very large value that is included in one BSON document during encoding. Exploitability also depends on how the native extension was built.
What is the potential impact?
The integer overflow can cause a write outside an allocated buffer in the application's own process. The stated impact includes compromise of confidentiality, integrity, and availability.