CVE-2021-26707:
Prototype pollution in Merge-deep
9.8
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.72538%
CWE
Published
6/7/2021
Updated
11/29/2023
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
merge-deep | npm | < 3.0.3 | 3.0.3 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from insufficient key validation in the merge function. The pre-patch code only checked for 'proto' but didn't block 'constructor' and 'prototype' keys. The security advisory explicitly mentions these vectors, and the commit 11e5dd5 fixes this by adding an isValidKey check that includes these forbidden keys. The merge function's property iteration logic in index.js was the entry point for prototype pollution attacks.