CVE-2026-42334

Mongoose: Improper Sanitization of $nor in sanitizeFilter May Allow NoSQL Injection

Published May 14, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-wpg9-53fq-2r8h Mongoose's Improper Sanitization of $nor in sanitizeFilter May Allow NoSQL Injection
History
Type Values Removed Values Added
First Time appeared Mongoosejs
Mongoosejs mongoose
CPEs cpe:2.3:a:mongoosejs:mongoose:*:*:*:*:*:node.js:*:*
Vendors & Products Mongoosejs
Mongoosejs mongoose
Type Values Removed Values Added
First Time appeared Automattic
Automattic mongoose
Vendors & Products Automattic
Automattic mongoose
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title Mongoose: Improper Sanitization of $nor in sanitizeFilter May Allow NoSQL Injection
Weaknesses CWE-74
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
May 14, 2026, 6:18 PM
Reserved
Apr 26, 2026, 1:26 PM
Status
Analyzed
Published
May 14, 2026, 6:16 PM
Modified
Oct 26, 2026, 2:10 PM