CVE-2026-73562
Mongoose: Prototype pollution in the update casting via __proto__-prefixed dotted path (Schema._getSchema/path getter)
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.10, 7.8.10, 8.24.1, and 9.7.2, passing a user-controlled update such as MyModel.updateOne(filter, req.body) can exploit Mongoose update casting with a proto.x dotted path under $set. Schema.prototype.path and Schema.prototype._getPathType can treat inherited properties of schema.paths and schema.nested as schema types, allowing the casting process to set $fullPath and $parentSchemaDocArray on Object.prototype before throwing. This prototype pollution makes those properties visible on newly created objects and can cause application integrity and availability impacts. This issue is fixed in versions 6.13.10, 7.8.10, 8.24.1, and 9.7.2.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
6.5
Mongoose: Prototype pollution in the update casting via __proto__-prefixed dotted path (Schema._getSchema/path getter)
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.10, 7.8.10, 8.24.1, and 9.7.2, passing a user-controlled update such as MyModel.updateOne(filter, req.body) can exploit Mongoose update casting with a proto.x dotted path under $set. Schema.prototype.path and Schema.prototype._getPathType can treat inherited properties of schema.paths and schema.nested as schema types, allowing the casting process to set $fullPath and $parentSchemaDocArray on Object.prototype before throwing. This prototype pollution makes those properties visible on newly created objects and can cause application integrity and availability impacts. This issue is fixed in versions 6.13.10, 7.8.10, 8.24.1, and 9.7.2.
- Record
CVE-2026-73562- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
EUVDEUVD-2026-58176
6.5
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.10, 7.8.10, 8.24.1, and 9.7.2, passing a user-controlled update such as MyModel.updateOne(filter, req.body) can exploit Mongoose update casting with a proto.x dotted path under $set. Schema.prototype.path and Schema.prototype._getPathType can treat inherited properties of schema.paths and schema.nested as schema types, allowing the casting process to set $fullPath and $parentSchemaDocArray on Object.prototype before throwing. This prototype pollution makes those properties visible on newly created objects and can cause application integrity and availability impacts. This issue is fixed in versions 6.13.10, 7.8.10, 8.24.1, and 9.7.2.
- Record
EUVD-2026-58176- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-664h-wqgq-64gw
6.5
Mongoose: Prototype pollution in mongoose update casting via __proto__-prefixed dotted path (Schema._getSchema/path getter)
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 $fullPath and $parentSchemaDocArray on Object.prototype.
Example:
const mongoose = require('mongoose');
console.log('before:', Object.prototype.$fullPath); // undefined
const User = mongoose.model('User', new mongoose.Schema({ name: String }));
const malicious = JSON.parse('{"$set": {"__proto__.x": "anything"}}'); // attacker-controlled update
const q = User.updateOne({}, {});
try { q._castUpdate(malicious); } catch (e) { /* throws AFTER the pollution side-effect */ }
console.log('after :', Object.prototype.$fullPath); // "__proto__"
console.log('enumerable:', Object.prototype.propertyIsEnumerable('$fullPath')); // true
console.log('fresh {}:', ({}).$fullPath); // "__proto__"
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 Mongoose
References
Are there any links users can visit to find out more?
- Record
GHSA-664h-wqgq-64gw- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
NVD
6.5
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.10, 7.8.10, 8.24.1, and 9.7.2, passing a user-controlled update such as MyModel.updateOne(filter, req.body) can exploit Mongoose update casting with a proto.x dotted path under $set. Schema.prototype.path and Schema.prototype._getPathType can treat inherited properties of schema.paths and schema.nested as schema types, allowing the casting process to set $fullPath and $parentSchemaDocArray on Object.prototype before throwing. This prototype pollution makes those properties visible on newly created objects and can cause application integrity and availability impacts. This issue is fixed in versions 6.13.10, 7.8.10, 8.24.1, and 9.7.2.
- Record
CVE-2026-73562- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
OSV
6.5
Mongoose: Prototype pollution in the update casting via __proto__-prefixed dotted path (Schema._getSchema/path getter)
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.10, 7.8.10, 8.24.1, and 9.7.2, passing a user-controlled update such as MyModel.updateOne(filter, req.body) can exploit Mongoose update casting with a proto.x dotted path under $set. Schema.prototype.path and Schema.prototype._getPathType can treat inherited properties of schema.paths and schema.nested as schema types, allowing the casting process to set $fullPath and $parentSchemaDocArray on Object.prototype before throwing. This prototype pollution makes those properties visible on newly created objects and can cause application integrity and availability impacts. This issue is fixed in versions 6.13.10, 7.8.10, 8.24.1, and 9.7.2.
- Record
CVE-2026-73562- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
OSVGHSA-664h-wqgq-64gw
6.5
Mongoose: Prototype pollution in mongoose update casting via __proto__-prefixed dotted path (Schema._getSchema/path getter)
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 $fullPath and $parentSchemaDocArray on Object.prototype.
Example:
const mongoose = require('mongoose');
console.log('before:', Object.prototype.$fullPath); // undefined
const User = mongoose.model('User', new mongoose.Schema({ name: String }));
const malicious = JSON.parse('{"$set": {"__proto__.x": "anything"}}'); // attacker-controlled update
const q = User.updateOne({}, {});
try { q._castUpdate(malicious); } catch (e) { /* throws AFTER the pollution side-effect */ }
console.log('after :', Object.prototype.$fullPath); // "__proto__"
console.log('enumerable:', Object.prototype.propertyIsEnumerable('$fullPath')); // true
console.log('fresh {}:', ({}).$fullPath); // "__proto__"
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 Mongoose
References
Are there any links users can visit to find out more?
- Record
GHSA-664h-wqgq-64gw- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L - Weakness
- CWE-1321
- Updated
- 2026-11-02
Show 8 moreShow less
OSVBIT-mongoose-2026-73562 No score
Mongoose: Prototype pollution in the update casting via __proto__-prefixed dotted path (Schema._getSchema/path getter)
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.10, 7.8.10, 8.24.1, and 9.7.2, passing a user-controlled update such as MyModel.updateOne(filter, req.body) can exploit Mongoose update casting with a proto.x dotted path under $set. Schema.prototype.path and Schema.prototype._getPathType can treat inherited properties of schema.paths and schema.nested as schema types, allowing the casting process to set $fullPath and $parentSchemaDocArray on Object.prototype before throwing. This prototype pollution makes those properties visible on newly created objects and can cause application integrity and availability impacts. This issue is fixed in versions 6.13.10, 7.8.10, 8.24.1, and 9.7.2.
- Record
BIT-mongoose-2026-73562- Updated
- 2026-11-02
OSVCLSA-2026-1785380878 No score
TuxCare security update for mongoose (1 CVE)
TuxCare rebuilt mongoose to address 1 CVE. Fixed in 9.6.2-tuxcare.1.
- Record
CLSA-2026-1785380878- Updated
- 2026-11-02
OSVCLSA-2026-1789641939 No score
TuxCare security update for mongoose (1 CVE)
TuxCare rebuilt mongoose to address 1 CVE. Fixed in 9.6.2-tuxcare.2.
- Record
CLSA-2026-1789641939- Updated
- 2026-11-02
OSVCLSA-2026-1789641946 No score
TuxCare security update for mongoose (1 CVE)
TuxCare rebuilt mongoose to address 1 CVE. Fixed in 7.8.8-tuxcare.4.
- Record
CLSA-2026-1789641946- Updated
- 2026-11-02
OSVCLSA-2026-1789645446 No score
TuxCare security update for mongoose (1 CVE)
TuxCare rebuilt mongoose to address 1 CVE. Fixed in 6.12.2-tuxcare.5.
- Record
CLSA-2026-1789645446- Updated
- 2026-11-02
OSVCLSA-2026-1789647573 No score
TuxCare security update for mongoose (2 CVEs)
TuxCare rebuilt mongoose to address 2 CVEs. Fixed in 5.13.23-tuxcare.5.
- Record
CLSA-2026-1789647573- Updated
- 2026-11-02
OSVCLSA-2026-1792188893 No score
TuxCare security update for mongoose (1 CVE)
TuxCare rebuilt mongoose to address 1 CVE. Fixed in 9.7.1-tuxcare.1.
- Record
CLSA-2026-1792188893- Updated
- 2026-11-02
OSVCLSA-2026-1792475862 No score
TuxCare security update for mongoose (1 CVE)
TuxCare rebuilt mongoose to address 1 CVE. Fixed in 9.6.3-tuxcare.1.
- Record
CLSA-2026-1792475862- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
mongoosenpm |
before 6.13.10 | 6.13.10 |
mongoosenpm |
7.0.0 up to 7.8.10 | 7.8.10 |
mongoosenpm |
8.0.0 up to 8.24.1 | 8.24.1 |
mongoosenpm |
9.0.0 up to 9.7.2 | 9.7.2 |
mongooseBitnami |
before 6.13.10, 7.0.0 up to 7.8.10, 8.0.0 up to 8.24.1, 9.0.0 up to 9.7.2 | 6.13.107.8.108.24.19.7.2 |
mongooseTuxCare:npm |
9.6.2-tuxcare.0 up to 9.6.2-tuxcare.1, plus listed versions 9.6.2 |
9.6.2-tuxcare.1 |
mongooseTuxCare:npm |
9.6.2-tuxcare.0 up to 9.6.2-tuxcare.2, plus listed versions 9.6.29.6.2-tuxcare.1 |
9.6.2-tuxcare.2 |
mongooseTuxCare:npm |
7.8.8-tuxcare.0 up to 7.8.8-tuxcare.4, plus listed versions 7.8.87.8.8-tuxcare.17.8.8-tuxcare.27.8.8-tuxcare.3 |
7.8.8-tuxcare.4 |
mongooseTuxCare:npm |
6.12.2-tuxcare.0 up to 6.12.2-tuxcare.5, plus listed versions 6.12.26.12.2-tuxcare.16.12.2-tuxcare.26.12.2-tuxcare.36.12.2-tuxcare.4 |
6.12.2-tuxcare.5 |
mongooseTuxCare:npm |
5.13.23-tuxcare.0 up to 5.13.23-tuxcare.5, plus listed versions 5.13.235.13.23-tuxcare.15.13.23-tuxcare.25.13.23-tuxcare.35.13.23-tuxcare.4 |
5.13.23-tuxcare.5 |
mongooseTuxCare:npm |
9.7.1-tuxcare.0 up to 9.7.1-tuxcare.1, plus listed versions 9.7.1 |
9.7.1-tuxcare.1 |
mongooseTuxCare:npm |
9.6.3-tuxcare.0 up to 9.6.3-tuxcare.1, plus listed versions 9.6.3 |
9.6.3-tuxcare.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-73562 is a medium vulnerability (CVSS 6.5) in Automattic Mongoose, published July 24, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.50%, the 43rd percentile. Fixed in mongoose 6.13.10.
References
github.com/Automattic/mongoose/security/advisories/GHSA-664h-wqgq-64gw
github.com/Automattic/mongoose/commit/35a3f33bc9a0a28671f99e3c5010000425650d0f
github.com/Automattic/mongoose/commit/7285466b860d3b511f8d07b2ab72656703ee707a
github.com/Automattic/mongoose/commit/953d085bee5a16b5d6c5af33a156e6314d6d9a45
github.com/Automattic/mongoose/commit/fab793b747131c68927888cba41cf3e6d6593740
github.com/Automattic/mongoose/pull/16230
Show 9 moreShow less
github.com/Automattic/mongoose/commit/f494b8430f9097fc70446d6949c8a42a27518e0b
github.com/Automattic/mongoose/releases/tag/6.13.10
github.com/Automattic/mongoose/releases/tag/7.8.10
github.com/Automattic/mongoose/releases/tag/8.24.1
github.com/Automattic/mongoose/releases/tag/9.7.2
github.com/advisories/GHSA-664h-wqgq-64gw
nvd.nist.gov/vuln/detail/CVE-2026-73562
github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73562.json
github.com/Automattic/mongoose