CVE-2020-7715: Prototype Pollution in deep-get-set
9.8
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.73009%
CWE
Published
5/6/2021
Updated
2/1/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 |
---|---|---|---|
deep-get-set | npm | < 1.1.1 | 1.1.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the package's core get/set functionality handling user-supplied paths without prototype pollution protections. The commit diff shows added validation for proto, prototype and constructor keys in both get and set operations. Prior to patch 1.1.1, the functions: 1) In get(): Line 14 lacked isSafeKey check, allowing prototype property access 2) In set(): Line 26 lacked early return for unsafe keys, enabling prototype modification. The main exported 'deep' function acts as a router to these vulnerable get/set implementations based on argument count.