Description
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.
Published: 2026-08-13
Score: 6.5 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Mongoose, a MongoDB object modeling library, has a prototype pollution vulnerability in the update casting logic. Prior to versions 6.13.10, 7.8.10, 8.24.1, and 9.7.2, passing a user‑controlled update payload that contains a __proto__ prefixed dotted path (for example __proto__.x) under $set causes the internal path resolution code to treat inherited properties as schema paths. This allows the casting process to set special internal fields ($fullPath and $parentSchemaDocArray) on Object.prototype before a thrown error. As a result, those properties become visible on newly created objects, potentially corrupting program state and causing integrity or availability problems.

Affected Systems

Automattic's Mongoose library, versions prior to 6.13.10, 7.8.10, 8.24.1, and 9.7.2 are affected.

Risk and Exploitability

The CVSS score of 6.5 indicates moderate severity. No EPSS score is available, and the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is through any publicly exposed API that accepts update requests, where an attacker can supply a payload containing a __proto__ dotted path. Because the vulnerability manipulates the global Object prototype, a successful exploitation could alter the behavior of subsequently created objects, leading to integrity and availability issues. Given the absence of known active exploitation, the immediate risk is moderate, but the weakness should be remediated promptly.

Generated by OpenCVE AI on August 13, 2026 at 18:38 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Mongoose 6.13.10 or later, 7.8.10 or later, 8.24.1 or later, or 9.7.2 or later to eliminate the prototype pollution flaw.
  • If an upgrade is not yet possible, sanitize incoming update data by stripping any keys that start with "__proto__" before passing them to Mongoose.
  • Add validation on update routes to reject update payloads containing "__proto__" or disallow dotted paths that target prototype properties.
  • Implement application‑level checks that monitor Object.prototype for unexpected properties after updates, to detect possible pollution prematurely.

Generated by OpenCVE AI on August 13, 2026 at 18:38 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-664h-wqgq-64gw Mongoose: Prototype pollution in mongoose update casting via __proto__-prefixed dotted path (Schema._getSchema/path getter)
History

Thu, 13 Aug 2026 18:45:00 +0000

Type Values Removed Values Added
First Time appeared Automattic
Automattic mongoose
Vendors & Products Automattic
Automattic mongoose

Thu, 13 Aug 2026 17:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Mongoose: Prototype pollution in the update casting via __proto__-prefixed dotted path (Schema._getSchema/path getter)
Weaknesses CWE-1321
References
Metrics cvssV3_1

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


Subscriptions

Automattic Mongoose
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-13T17:27:09.914Z

Reserved: 2026-08-12T20:53:46.380Z

Link: CVE-2026-73562

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-13T18:18:18.643

Modified: 2026-08-13T18:18:18.643

Link: CVE-2026-73562

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T18:45:04Z

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')