CVE-2026-125118 PUBLISHED

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

Assigner: GitHub_M
Reserved: 09.11.2026 Published: 09.11.2026 Updated: 09.11.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
CVSS Score: 6.5

Product Status

Vendor Automattic
Product mongoose
Versions
  • Version < 6.13.12 is affected
  • Version >= 7.0.0, < 7.8.13 is affected
  • Version >= 8.0.0, < 8.24.7 is affected
  • Version >= 9.0.0, < 9.11.4 is affected

References

Problem Types

  • CWE-1321: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') CWE