CVE-2018-3750

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…

published July 3, 2018

CVSS
—
EPSS
2%
Percentile
81.8
In the wild
Unconfirmed
What it is

⚠️ An attacker can subtly alter the very foundation of your JavaScript objects! With just a structured input into the deep-extend module, they can modify Object's prototype — a sneaky way to reshape your entire application. 🔥 Think of the deep-extend function as a recipe where you can substitute ingredients, but what if someone swapped out the sugar for salt? Suddenly, every dish you cook will taste funny because the base has been tainted, impacting everything that relies on that recipe. This vulnerability could allow an attacker to manipulate essential properties across all objects in your application, leading to unexpected behavior, data leakage, or even application crashes. It's like giving someone the power to change the rules of the game while it's still being played — chaos is bound to ensue!

Put simply

Think of the deep-extend function as a recipe where you can substitute ingredients, but what if someone swapped out the sugar for salt? Suddenly, every dish you cook will taste funny because the base has been tainted, impacting everything that relies on that recipe. In versions 0.5.0 and earlier of the deep-extend module, an attacker can control the structure passed to its function, allowing them to modify the prototype of Object itself, enabling them to add or change properties across all objects.

What to do

This vulnerability could allow an attacker to manipulate essential properties across all objects in your application, leading to unexpected behavior, data leakage, or even application crashes. It's like giving someone the power to change the rules of the game while it's still being played — chaos is bound to ensue! Upgrade the deep-extend module to version 0.6.0 or later to close this gap. Additionally, ensure to review and sanitize any user-provided input that may be passed to this function to prevent possible manipulation. 🛡️ You've got this! By staying proactive and updating your dependencies, you'll keep your applications safe and sound. 🦸‍♂️

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.02147 · 81.8th percentile
Published
2018-07-03T21:00Z
EPSS history
Timeline
  • 03 JUL 21:00Z
    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…
    cvelistv5