CVE-2020-28499
JavaScript vulnerability analysis and mitigation

Overview

All versions of package merge before 2.1.1 are vulnerable to Prototype Pollution via _recursiveMerge function. The vulnerability was discovered on November 22, 2020, and publicly disclosed on February 18, 2021. This vulnerability has been assigned CVE-2020-28499 and affects the merge package, a library that allows merging multiple objects into one (Snyk JS).

Technical details

The vulnerability exists in the _recursiveMerge function where improper input sanitization allows for prototype pollution. The severity is rated as HIGH with a CVSS v3.1 base score of 7.3 by Snyk and 9.8 (CRITICAL) by NVD. The vulnerability can be exploited remotely without requiring privileges or user interaction (NVD).

Impact

When exploited, this vulnerability allows attackers to modify properties within the global prototype chain. This can lead to denial of service by triggering JavaScript exceptions or potentially enable remote code execution by tampering with the application source code. The vulnerability affects confidentiality, integrity, and availability of the system (Snyk JS).

Exploitability

A proof-of-concept exploit exists demonstrating how an attacker can pollute Object.prototype by injecting malicious properties. The attack can be executed by passing specially crafted JSON input containing proto properties to the merge.recursive function (Snyk JS).

Mitigation and workarounds

The vulnerability has been patched in version 2.1.1 of the merge package. Users should upgrade to this version or higher. Alternative mitigations 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 (Object.create(null)) (Snyk JS).

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-54504HIGH8.8
  • JavaScript logoJavaScript
  • @andrea9293/mcp-documentation-server
NoYesSep 17, 2026
CVE-2026-77615HIGH8.7
  • JavaScript logoJavaScript
  • paella-core
NoYesSep 17, 2026
CVE-2026-91127HIGH8.2
  • JavaScript logoJavaScript
  • @file-viewer/doc
NoYesSep 18, 2026
CVE-2026-77301HIGH7.5
  • JavaScript logoJavaScript
  • adm-zip
NoYesSep 18, 2026
CVE-2026-84992MEDIUM6.1
  • JavaScript logoJavaScript
  • md-editor-v3
NoYesSep 18, 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