CVE-2018-3750 Prototype Pollution in deep-extend

Critical 9.8 Published Updated

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.

PackageAffectedFixed in
deep-extend npmAll versions0.5.1
deep-extend npmAll versions0.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.

Is CVE-2018-3750 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free