fix(deps): update dependency mongoose to v6.13.10 [security] - #1460
fix(deps): update dependency mongoose to v6.13.10 [security]#1460renovate-bot wants to merge 1 commit into
Conversation
|
/gcbrun |
There was a problem hiding this comment.
Code Review
This pull request updates the mongoose dependency to version 6.13.6 in the backend service. Feedback highlights that Mongoose 6.x is end-of-life and recommends migrating to version 8.x, which would involve refactoring database logic to remove callback support. Furthermore, the update creates a version mismatch between the root mongodb dependency and the transitive version used by mongoose, suggesting an alignment of these versions to reduce package bloat.
| "mongodb": "4.17.1", | ||
| "express": "4.18.2", | ||
| "mongoose": "6.11.3" | ||
| "mongoose": "6.13.6" |
There was a problem hiding this comment.
Mongoose 6.x is End-of-Life (EOL) and no longer receives general updates. While this version addresses a specific security vulnerability (CVE-2025-23061), it is recommended to plan a migration to a supported version like Mongoose 8.x. Note that Mongoose 7+ introduced breaking changes, including the removal of callback support, which would require refactoring the database logic in files like routes/messages.js to use Promises or async/await.
| "mongodb": "4.17.1", | ||
| "express": "4.18.2", | ||
| "mongoose": "6.11.3" | ||
| "mongoose": "6.13.6" |
There was a problem hiding this comment.
Updating mongoose to 6.13.6 brings in mongodb@4.17.2 as a transitive dependency. Since the root package.json explicitly pins mongodb to 4.17.1 (line 13), this results in duplicate versions of the MongoDB driver being installed. Consider updating the root mongodb dependency to 4.17.2 or removing it if it is not used directly in the codebase to maintain consistency and reduce package bloat.
ffa47da to
5566886
Compare
|
/gcbrun |
This PR contains the following updates:
6.11.3→6.13.10Mongoose search injection vulnerability
CVE-2025-23061 / GHSA-vg7j-7cwx-8wgw
More information
Details
Mongoose versions prior to 8.9.5, 7.8.4, and 6.13.6 are vulnerable to improper use of the
$whereoperator. This vulnerability arises from the ability of the$whereclause to execute arbitrary JavaScript code in MongoDB queries, potentially leading to code injection attacks and unauthorized access or manipulation of database data.NOTE: this issue exists because of an incomplete fix for CVE-2024-53900.
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:HReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Mongoose search injection vulnerability
CVE-2024-53900 / GHSA-m7xq-9374-9rvx
More information
Details
Mongoose versions prior to 8.8.3, 7.8.3, 6.13.5, and 5.13.23 are vulnerable to improper use of the $where operator. This vulnerability arises from the ability of the $where clause to execute arbitrary JavaScript code in MongoDB queries, potentially leading to code injection attacks and unauthorized access or manipulation of database data.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Mongoose's Improper Sanitization of $nor in sanitizeFilter May Allow NoSQL Injection
CVE-2026-42334 / GHSA-wpg9-53fq-2r8h
More information
Details
Impact
This vulnerability allows bypassing Mongoose’s sanitizeFilter query sanitization mechanism via the
$noroperator.When sanitizeFilter is enabled, Mongoose wraps query operators in
$eqto neutralize them. However, prior to the fix,$norwas not included in the set of logical operators that are recursively sanitized. Because$noraccepts an array (like$andand$or), and arrays do not triggerhasDollarKeys(), malicious operators such as$ne,$gt, or$regexcould be injected inside a$norclause without being sanitized.This may lead to:
Affected users:
Applications that:
Model.findOne(req.body)) and rely onsanitizeFilterto strip out query selectorsApplications that validate input schemas, whitelist fields, or avoid passing raw request bodies into queries are not affected. For example,
Model.findOne({ user: req.body.user, pwd: req.body.pwd })is not affected.Patches
Patches have been released for all supported Mongoose release lines:
^6.13.9^7.8.9^8.22.1^9.1.6Workarounds
Delete
$norkeys, use an additional schema validation library, or write middleware to strip out$norfrom query filters.Resources
sanitizeFilter documentation: https://mongoosejs.com/docs/api/mongoose.html#Mongoose.prototype.sanitizeFilter()
Original blog post on sanitizeFilter: https://thecodebarbarian.com/whats-new-in-mongoose-6-sanitizefilter.html
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Mongoose: Prototype pollution in mongoose update casting via proto-prefixed dotted path (Schema._getSchema/path getter)
CVE-2026-73562 / GHSA-664h-wqgq-64gw
More information
Details
Impact
What kind of vulnerability is it? Who is impacted?
Prototype pollution in update casting: passing a user-controlled update to a Mongoose update, like
MyModel.updateOne(filter, req.body), can cause Mongoose to set$fullPathand$parentSchemaDocArrayonObject.prototype.Example:
Patches
Has the problem been patched? What versions should users upgrade to?
9.7.2, 8.24.1. 7.8.10, 6.13.10
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
Check user-controlled updates for own
__proto__properties before passing to MongooseReferences
Are there any links users can visit to find out more?
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
Automattic/mongoose (mongoose)
v6.13.10Compare Source
v6.13.9Compare Source
6.13.9 / 2026-02-04
v6.13.8Compare Source
===================
v6.13.7Compare Source
===================
v6.13.6Compare Source
===================
v6.13.5Compare Source
===================
v6.13.4Compare Source
===================
v6.13.3Compare Source
===================
v6.13.2Compare Source
===================
v6.13.1Compare Source
===================
v6.13.0Compare Source
===================
v6.12.9Compare Source
===================
v6.12.8Compare Source
===================
valueproperty rather than boolean #14418v6.12.7Compare Source
===================
openUri()#14370 #13376 #13335v6.12.6Compare Source
===================
v6.12.5Compare Source
===================
v6.12.4Compare Source
===================
v6.12.3Compare Source
===================
removeVirtual()#14019 #13085v6.12.2Compare Source
===================
v6.12.1Compare Source
===================
v6.12.0Compare Source
===================
v6.11.6Compare Source
===================
v6.11.5Compare Source
===================
v6.11.4Compare Source
===================
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.