defaults-deep
Corregido en
0.2.4
CVE-2018-3723 describes a prototype pollution vulnerability affecting versions of the defaults-deep package before 0.2.4. Prototype pollution allows attackers to inject arbitrary properties into JavaScript object prototypes, potentially impacting all objects inheriting from those prototypes. This can lead to unexpected application behavior, data corruption, or even denial of service. Updating to version 0.2.4 or later resolves this issue.
Prototype pollution vulnerabilities, like CVE-2018-3723, can have significant consequences. By manipulating the prototype of built-in JavaScript objects (like Object.prototype), an attacker can inject malicious properties that are inherited by all objects created subsequently. This can lead to unexpected application behavior, data corruption, or even remote code execution if the polluted properties are used in sensitive operations. For example, if an application uses the polluted prototype to validate user input or configure security settings, an attacker could bypass security controls or inject malicious code. The blast radius of this vulnerability extends to any part of the application that relies on the polluted prototypes.
CVE-2018-3723 was published on July 26, 2018. While no widespread active exploitation campaigns have been publicly reported, prototype pollution vulnerabilities are increasingly recognized as a serious security risk. There are publicly available proof-of-concept (POC) exploits demonstrating the feasibility of prototype pollution attacks. The vulnerability's severity is rated HIGH (CVSS 8.8), indicating a significant potential for exploitation.
Estado del Exploit
EPSS
0.43% (62% percentil)
Vector CVSS
The primary mitigation for CVE-2018-3723 is to upgrade the defaults-deep package to version 0.2.4 or later. If upgrading is not immediately feasible due to compatibility issues or breaking changes, consider implementing runtime checks to validate the properties being merged into objects. This can involve filtering out unexpected property names or using a more secure merging strategy. While not a complete solution, this can reduce the attack surface. After upgrading, confirm the fix by running tests that specifically target prototype pollution scenarios to ensure the vulnerability is no longer present.
Sin parche oficial disponible. Busca alternativas o monitorea actualizaciones.
Análisis de vulnerabilidades y alertas críticas directamente en tu correo.
CVE-2018-3723 is a HIGH severity vulnerability in the defaults-deep package, allowing attackers to manipulate object prototypes and potentially cause application instability or data corruption.
You are affected if you are using a version of defaults-deep prior to 0.2.4. Check your project dependencies with npm list defaults-deep to determine your version.
Upgrade the defaults-deep package to version 0.2.4 or later using npm install defaults-deep@latest or your package manager's equivalent command.
While no widespread active exploitation campaigns are publicly known, prototype pollution vulnerabilities are recognized as a serious risk, and POC exploits exist.
Refer to the npm advisory for CVE-2018-3723: https://www.npmjs.com/advisories/793
Sube tu archivo de dependencias y detecta esta y otras CVEs al instante.