CVE-2022-41713: deep-object-diff vulnerable to Prototype Pollution
5.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.20537%
CWE
Published
11/4/2022
Updated
1/28/2023
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| deep-object-diff | npm | >= 1.1.6, < 1.1.9 | 1.1.9 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from diff functions using {} (Object.prototype-inheriting objects) as accumulators. This allowed attackers to inject proto properties through JSON input. The fix replaced {} with makeObjectWithoutPrototype() (Object.create(null)) in all four core diff functions, as seen in commit 9576963. Each function's pre-patch version could propagate proto properties to Object.prototype when processing malicious input, enabling prototype pollution.