CVE-2021-23329
JavaScript vulnerability analysis and mitigation

Overview

The package nested-object-assign before version 1.0.4 was discovered to contain a Prototype Pollution vulnerability (CVE-2021-23329). The vulnerability was identified and disclosed on January 31, 2021. This security issue affects the default function of the package, which is designed to support nested merging of objects and properties using Object.Assign (Snyk).

Technical details

The vulnerability allows an attacker to inject properties into existing JavaScript language construct prototypes through the package's default function. JavaScript permits alteration of all Object attributes, including magical attributes like proto, constructor, and prototype. When exploited, properties on the Object.prototype are inherited by all JavaScript objects through the prototype chain. The vulnerability was assigned a CVSS score of 7.5 (High) (Snyk).

Impact

When successfully exploited, this vulnerability can lead to either denial of service by triggering JavaScript exceptions or tampering with the application source code to force the code path that the attacker injects. This could potentially lead to remote code execution. The vulnerability primarily affects the availability of the system, with potential for property injection attacks that could compromise application security (Snyk).

Exploitability

The vulnerability has a proof-of-concept exploit available. An attacker can exploit this vulnerability by providing specially crafted input that includes Object.prototype manipulation. A simple proof of concept demonstrates that an attacker can pollute the prototype chain by using the package's default function with malicious JSON input (GitHub PR, Snyk).

Mitigation and workarounds

The vulnerability has been fixed in version 1.0.4 of the nested-object-assign package. Users should upgrade to this version or higher to mitigate the risk. Alternative mitigation strategies include freezing the prototype using Object.freeze(Object.prototype), requiring schema validation of JSON input, avoiding unsafe recursive merge functions, and considering the use of objects without prototypes or using Map instead of Object (Snyk).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77415CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-77414CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-77413CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NoYesAug 21, 2026
CVE-2026-63421HIGH7.5
  • JavaScript logoJavaScript
  • @keystone-6/core
NoYesAug 21, 2026
CVE-2026-53509MEDIUM5.7
  • JavaScript logoJavaScript
  • @aborruso/ckan-mcp-server
NoYesAug 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management