CVE-2018-16486: Prototype Pollution in defaults-deep

defaults-deep Updated 02 Oct 2025

Summary

07/02/2019
No i
Critical
9.8

CVE-2018-16486: Prototype Pollution in defaults-deep. Affects defaults-deep versions < 0.2.4. No fix is published. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The defaults-deep package is an npm module that provides functionality to add or modify properties of objects. It allows deep merging of objects by recursively copying properties from source objects to a target object. This package is commonly used in JavaScript applications to handle default values and configuration settings.

Vulnerability Detail

The defaults-deep package is vulnerable to prototype pollution. This vulnerability allows an attacker to modify the prototype of the Object class, which affects all objects in the application. By providing specific input, an attacker can add or modify properties of the Object prototype, leading to potential security issues such as arbitrary code execution, information disclosure, or denial of service.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Workaround

As there is no patch available, a possible workaround is to implement input validation and sanitization to prevent malicious input from reaching the vulnerable code. Additionally, developers can manually modify the defaults-deep package code to address the vulnerability, but this approach is not recommended as it may introduce other issues and make future updates challenging.

Conclusion

The defaults-deep package is vulnerable to prototype pollution, which can have severe security implications. As no patch is currently available, it is crucial to replace this package with a secure alternative and review the code and dependencies of your application for any other instances of prototype pollution. Implementing input validation and sanitization can provide some mitigation until a suitable replacement is found. For further support on vulnerability remediation, contact DevNack.com.

See every vulnerability recorded for defaults-deep →

Share this vulnerability

FAQ

Prototype pollution is a vulnerability that occurs when an attacker can modify the prototype of an object, allowing them to add or modify properties that will be present on all instances of that object. This can lead to various security issues.

The consequences of this vulnerability can vary depending on the specific application and how the affected package is used. Possible consequences include arbitrary code execution, information disclosure, or denial of service.

No, there is currently no patch available for this vulnerability in the defaults-deep package. It is recommended to find an alternative module that provides similar functionality without being vulnerable to prototype pollution.

You can use tools like Vulert (https://vulert.com) to check if your application is affected by this vulnerability. Vulert monitors and alerts in real-time for open-source vulnerabilities, using package-lock.json to analyze the software without requiring access to the code or installation.

For further support on vulnerability remediation, you can contact info@devnack.com. They can provide guidance and assistance in addressing this vulnerability and securing your application.

Related vulnerabilities

Recent vulnerabilities recorded for defaults-deep.

How To Fix

No fixed version is published for this vulnerability.

Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback