
Find real vulnerabilities before they ship
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.9, 7.8.9, 8.22.1, and 9.1.6, a vulnerability allows bypassing Mongoose’s sanitizeFilter query sanitization mechanism via the $nor operator. When sanitizeFilter is enabled, Mongoose wraps query operators in $eq to neutralize them. However, prior to the fix, $nor was not included in the set of logical operators that are recursively sanitized. Because $nor accepts an array (like $and and $or), and arrays do not trigger hasDollarKeys(), malicious operators such as $ne, $gt, or $regex could be injected inside a $nor clause without being sanitized. This vulnerability is fixed in 6.13.9, 7.8.9, 8.22.1, and 9.1.6.
Base Score
7.5| Package (Ecosystem) | Introduced | Fixed | Limit |
|---|---|---|---|
| mongoose(npm) | 0 | 6.13.9 | N/A |
| mongoose(npm) | 7.0.0 | 7.8.9 | N/A |
| mongoose(npm) | 8.0.0 | 8.22.1 | N/A |
| mongoose(npm) | 9.0.0 | 9.1.6 | N/A |
| Base Score | 7.5 |
|---|---|
| Vector String | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Base Severity | High |
| Version | 3.1 |
| Attack Vector (AV) | NETWORK |