NoSQL operator injection via unvalidated replacement document in findOneAndReplace
Summary
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 fu...
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| MongoDB | C# Driver |
≥ 2.13.0, < 3.13.0 |
3.13.0 |
Original description The description as published by the source.
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.
Source: CVE.org (CVE Program・cvelistV5) NVD
References
- web cna@mongodb.com
- web cna@mongodb.com
- web cna@mongodb.com