Miggo Logo

CVE-2018-3719: Prototype Pollution in mixin-deep

8.8

CVSS Score
3.1

Basic Information

EPSS Score
0.50101%
Published
7/26/2018
Updated
3/1/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
mixin-deepnpm< 1.3.11.3.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from the recursive merging logic in the copy function. The pre-patch code (shown in commit 578b0bc) lacked a check for 'proto' key during property merging. This allowed attackers to manipulate Object.prototype through specially crafted objects. The fix explicitly checks for 'proto' key in the copy function, confirming this was the vulnerable code path. The CWE-471 (MAID) classification further supports this analysis as it directly relates to prototype pollution via property injection.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

V*rsions o* `mixin-***p` ***or* *.*.* *r* vuln*r**l* to prototyp* pollution vi* m*r*in* *un*tions. ## R**omm*n**tion Up**t* to v*rsion *.*.* or l*t*r.

Reasoning

T** vuln*r**ility st*ms *rom t** r**ursiv* m*r*in* lo*i* in t** *opy *un*tion. T** pr*-p*t** *o** (s*own in *ommit *******) l**k** * ****k *or '__proto__' k*y *urin* prop*rty m*r*in*. T*is *llow** *tt**k*rs to m*nipul*t* O*j**t.prototyp* t*rou** sp**