Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to vulnerable application
-
DeliverySubmit replacement field names beginning with dollar sign
-
ExploitDriver forwards document to server without rejection
-
ExecutionServer applies update operators instead of full replacement
-
ImpactMatched document modified in unintended ways
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Query language parameterization
|
| Exploitation Conditions | Exploitation requires a specific application coding pattern: the application must use the FindOneAndReplace operation AND construct the replacement document's top-level field names from untrusted, user-supplied input. The attacker must be an authenticated/low-privileged user of that application (PR:L) able to influence those field names. Limiting factors that reduce real-world risk: the injected operators only affect the single document already selected by the application's own filter (no mass or arbitrary-record modification), the impact is modification only (no read/disclosure, no availability loss), and applications that use fixed field names or validate/reject '$'-prefixed keys are not affected. The flaw is specific to FindOneAndReplace - the driver's other replace operations already reject such documents. |
| Impact | This is a moderate-severity NoSQL injection (CWE-943) with a genuinely narrow blast radius, best treated as a code-hygiene / defense-in-depth fix rather than an emergency. The MongoDB-assigned CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N, 5.3) is internally consistent with the description: integrity-only impact (VI:L), no confidentiality (VC:N) and no availability (VA:N) impact, and PR:L meaning the attacker must already be an authenticated/low-privileged user of the affected application. Critically, the server only applies the injected update operators to the single document already selected by the application's own filter, so the attacker cannot pivot to arbitrary records - the impact is bounded, which is why VI is Low rather than High and why there is no scope change. No EPSS score, no CISA KEV listing and no proof-of-concept were supplied; the vuln.today decision label is 'this_month', not act_now or emergency, and a vendor patch (v3.13.0) is available. Note one metadata conflict: the input Tag 'Information Disclosure' contradicts the CVSS vector's VC:N (no confidentiality impact) and the description, which describes unintended modification (integrity), not disclosure - the integrity framing should be treated as authoritative. |
| Exploit ScenarioDerived | An application calls FindOneAndReplace and builds the replacement document's top-level fields from user-supplied names. An authenticated attacker supplies a field name beginning with a dollar sign (e.g. '$set' or '$inc'); because the C Driver fails to reject it here (unlike its other replace operations), the MongoDB server interprets the input as update operators and modifies the document matched by the application's filter in ways the application never intended. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Update operator injection in the MongoDB C
Driver (versions 2.13.0 up to, but not including, 3.13.0) lets a replacement document submitted through FindOneAndReplace be interpreted by the server as an update document when its top-level field names begin with a dollar sign, which the other replace code paths already reject. Only applications that build replacement-document top-level field names from untrusted input are exposed, and an authenticated, low-privileged user of such an application can then alter the single document already selected by the application's own filter - no records outside that filter are reachable, and there is no confidentiality or availability impact, only unintended modification of that document's contents. There is no public exploit identified at time of analysis, no confirmed active exploitation (not in CISA KEV), and the vendor has released a fixed version (3.13.0), making this a code-hygiene and defense-in-depth fix to schedule rather than an emergency.
RemediationAI
Upgrade the MongoDB C
Driver to 3.13.0, the general availability release that addresses this issue (CSHARP-6186) alongside several other input-validation fixes - see https://github.com/mongodb/mongo-csharp-driver/releases/tag/v3.13.0 and https://jira.mongodb.org/browse/CSHARP-6186. Review the documented behavior changes before rolling out, because 3.13.0 also makes the driver strict about malformed raw BSON length prefixes (now throws ArgumentException), out-of-range binary subtypes (0-255 enforced, affecting the JSON reader and binary writer), GeoJSON members colliding with declared members, and LINQ field names the server would reinterpret, and it obsoletes BsonSymbolTable (BsonSymbol is no longer interned; use BsonSymbol.Create or implicit string conversion) plus one CSFLE PatternProperty overload - any of these can break existing code. If upgrading must be deferred, the actionable compensating control indicated by the flaw itself is to stop deriving replacement-document top-level field names from user input in FindOneAndReplace calls: use fixed or allow-listed field names and reject any key beginning with '$' before the document is sent, since applications that do this are not affected; the trade-off is that this validation must be added at every call site and is easy to miss in future code, whereas the 3.13.0 upgrade enforces the check inside the driver.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
MongoDB distinguishes a full document replacement from an update document by the shape of the payload: update documents use top-level operators such as $set and $unset, while a replacement document must use plain field names. CWE-943 (improper neutralization of special elements in data query logic) applies because the driver fails to neutralize '$'-prefixed keys in one specific code path. Per the description, FindOneAndReplace does not reject replacement documents whose top-level field names begin with a dollar sign, unlike the driver's other replace operations, so a crafted replacement can be handed to the server and executed as an update operator sequence rather than a wholesale replacement. The preconditions are narrow and application-side: the code must call FindOneAndReplace and must derive the replacement document's top-level field names from user-supplied values rather than from fixed or allow-listed keys. The trigger beyond that pattern is not described in the available sources. The 3.13.0 release notes group this fix with a broader set of stricter input-validation changes (rejecting malformed raw BSON length prefixes, out-of-range binary subtypes, GeoJSON members colliding with declared members, and LINQ field names the server would reinterpret), which indicates the root cause class is inconsistent validation between driver code paths rather than a server-side MongoDB defect.
Know when MongoDB gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Authenticated application user needed (PR:L) over the network (AV:N) with no special timing (AC:L); impact is bounded modification of one matched document, so I:L with C:N/A:N.
Primary rating from Vendor (mongodb).
CVSS VectorVendor: mongodb
Lifecycle Timeline
1DescriptionCVE.org
The MongoDB C
Driver does not reject replacement documents whose top-level field names begin with a dollar sign in FindOneAndReplace, unlike other replace operations. An application that builds such a document from user-supplied field names can have the server apply update operators instead of a full replacement. The effect is limited to the document matched by the application's own filter, whose contents can be modified in ways the application did not intend.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
NoSQL injection exploits databases that don't use traditional SQL syntax-like MongoDB, CouchDB, or Redis-by manipulating queries through unsanitized user input.
MongoDB before 2.0.9 and 2.2.x before 2.2.4 does not properly validate requests to the nativeHelper function in SpiderMo
The find prototype in scripting/engine_v8.h in MongoDB 2.4.0 through 2.4.4 allows remote authenticated users to cause a
The MongoDB bson JavaScript module (also known as js-bson) versions 0.5.0 to 1.0.x before 1.0.5 is vulnerable to a Regul
Remote code execution in Chartbrew versions prior to 4.8.1 allows authenticated attackers with high privileges to execut
After user deletion in MongoDB Server the improper invalidation of authorization sessions allows an authenticated user's
The default configuration for MongoDB before 2.3.2 does not validate objects, which allows remote authenticated users to
SimStudio below 0.5.74 has a missing authorization on MongoDB tool endpoints that allows attackers to execute arbitrary
MongoDB Server may access non-initialized region of memory leading to unexpected behaviour when zero arguments are calle
MongoDB Compass may be susceptible to code injection due to insufficient sandbox protection settings with the usage of e
Under certain configurations of --tlsCAFile and tls.CAFile, MongoDB Server may skip peer certificate validation which ma
All versions of bson before 1.1.4 are vulnerable to Deserialization of Untrusted Data. Rated critical severity (CVSS 9.8
Memory corruption in the MongoDB BI Connector ODBC Driver (fixed in v1.4.9) occurs when an oversized catalog, schema, or
EUVD-2026-108312
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB