CVE-2018-3750 Prototype Pollution in deep-extend
Attackers can modify the Object prototype via the deep-extend library, potentially leading to code execution or privilege escalation in Node.js applications.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2018-3750?
CVE-2018-3750 is a critical code injection vulnerability in n/a, published on 3 Jul 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
The utilities function in all versions <= 0.5.0 of the deep-extend node module can be tricked into modifying the prototype of Object when the attacker can control part of the structure passed to this function. This can let an attacker add or modify existing properties that will exist on all objects.
Weakness: CWE-20
Which versions are affected by CVE-2018-3750?
2 open source packages ship an affected version, including deep-extend. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
deep-extend npm | All versions | 0.5.1 |
deep-extend npm | All versions | 0.5.1 |
Products include Deep Extend Project Deep Extend.
How do I fix CVE-2018-3750?
Upgrade deep-extend to 0.5.1 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2018-3750 being exploited?
There is no known exploitation of CVE-2018-3750 in the wild and no public exploit code.
Sources
Also known as CLSA-2026-1774484512, DEBIAN-CVE-2018-3750, GHSA-hr2v-3952-633q, UBUNTU-CVE-2018-3750.