CVE-2021-23452
JavaScript vulnerability analysis and mitigation

Overview

CVE-2021-23452 affects all versions of the x-assign package, which is a JavaScript library that provides Object.assign functionality for merging nested objects and concatenating arrays. The vulnerability was discovered and disclosed on October 18, 2021. The issue allows attackers to perform prototype pollution by manipulating the proto object, potentially affecting the global prototype chain (Snyk Advisory, NVD).

Technical details

The vulnerability is classified as CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes). It has received a CVSS v3.1 base score of 9.8 CRITICAL from NVD and 8.6 HIGH from Snyk. The vulnerability allows attackers to pollute the global prototype object through the proto property, which can affect all JavaScript objects through the prototype chain. The attack vector is network-accessible with low attack complexity, requiring no privileges or user interaction (NVD).

Impact

The successful exploitation of this vulnerability can lead to multiple severe consequences. It can cause denial of service by triggering JavaScript exceptions, enable remote code execution by tampering with application source code, or allow property injection that could affect security-critical properties. The vulnerability affects confidentiality (High), integrity (High), and availability (High) of the system (Snyk Advisory).

Mitigation and workarounds

There is no fixed version available for the x-assign package. To mitigate the risk, developers should consider alternative approaches such as freezing the prototype using Object.freeze(Object.prototype), implementing JSON input schema validation, avoiding unsafe recursive merge functions, or using objects without prototypes (Object.create(null)). As a best practice, using Map instead of Object is recommended (Snyk Advisory).

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-22787HIGH8.7
  • JavaScriptJavaScript
  • html2pdf.js
NoYesJan 14, 2026
CVE-2026-22820MEDIUM6.3
  • JavaScriptJavaScript
  • outray
NoYesJan 14, 2026
CVE-2026-22819MEDIUM5.9
  • JavaScriptJavaScript
  • outray
NoYesJan 14, 2026
CVE-2026-22036LOW3.7
  • JavaScriptJavaScript
  • node-undici
NoYesJan 14, 2026
GHSA-73rr-hh4g-fpgxLOWN/A
  • JavaScriptJavaScript
  • diff
NoYesJan 14, 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