Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-125118 EUVD-2026-120501GHSA-6972-9mcm-vhwj

Mongoose: Prototype pollution via Schema.prototype.virtual()

Published Nov 9, 2026 · Updated Nov 14, 2026 · Assigned by GitHub_M

Description

Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Prior to 6.13.12, 7.8.13, 8.24.7, and 9.11.4, Schema.prototype.virtual() builds nested virtual paths without applying the special-property validation already used by Schema.path() and Schema.add(). An attacker who can influence virtual field names in dynamic schemas, content-management form builders, or schema-as-code systems can supply path segments such as __proto__, constructor, or prototype, causing the virtual-path reducer to write enumerable properties to Object.prototype or Function.prototype. The resulting prototype pollution can spoof inherited property checks such as authorization flags and can provide function-prototype gadget state to other server-side JavaScript code. This issue is fixed in versions 6.13.12, 7.8.13, 8.24.7, and 9.11.4.

Affected products

VendorProductAffectedFixed
Automattic mongoose < 6.13.12, >= 7.0.0, < 7.8.13, >= 8.0.0, < 8.24.7, >= 9.0.0, < 9.11.4 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm mongoose < 6.13.12 6.13.12 GHSA-6972-9mcm-vhwj
npm mongoose >= 7.0.0, < 7.8.13 7.8.13 GHSA-6972-9mcm-vhwj
npm mongoose >= 8.0.0, < 8.24.7 8.24.7 GHSA-6972-9mcm-vhwj
npm mongoose >= 9.0.0, < 9.11.4 9.11.4 GHSA-6972-9mcm-vhwj

References