CVE-2020-7721
JavaScript vulnerability analysis and mitigation

Overview

All versions of package node-oojs are vulnerable to Prototype Pollution via the setPath function. The vulnerability was discovered on August 14, 2020, and publicly disclosed on September 1, 2020. This security issue affects all versions of the node-oojs package, which is an Object Oriented JavaScript library (Snyk).

Technical details

The vulnerability allows Prototype Pollution through the setPath function. The issue occurs when an attacker can manipulate JavaScript language construct prototypes by injecting properties into existing objects. A proof of concept demonstrates that calling oojs.setPath({'proto.polluted':true}) results in polluted being accessible globally. The vulnerability has been assigned a CVSS score of 9.8 (Critical), indicating its severe impact (Snyk).

Impact

The vulnerability can lead to multiple severe consequences: Denial of Service (DoS) by triggering JavaScript exceptions, potential Remote Code Execution (RCE) through manipulation of code paths, and Property Injection allowing attackers to modify security-critical properties. The vulnerability affects various environments including application servers, web servers, and web browsers (Snyk).

Exploitability

The vulnerability has a high exploitability potential as Snyk has developed a proof-of-concept exploit. The EPSS (Exploit Prediction Scoring System) indicates a 1.22% probability of exploitation (86th percentile), suggesting a significant likelihood of exploitation in the wild (Snyk).

Mitigation and workarounds

Since there is no fixed version available for node-oojs, the following preventive measures are recommended: freeze the prototype using Object.freeze(Object.prototype), implement schema validation for JSON input, avoid unsafe recursive merge functions, use objects without prototypes (Object.create(null)), and consider 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-88062CRITICAL9.5
  • JavaScript logoJavaScript
  • omniroute
NoNoSep 10, 2026
CVE-2026-61534CRITICAL9.1
  • JavaScript logoJavaScript
  • yayson
NoYesSep 11, 2026
CVE-2026-59973HIGH8.5
  • JavaScript logoJavaScript
  • @frontmcp/adapters
NoYesSep 11, 2026
CVE-2026-59960HIGH7.5
  • JavaScript logoJavaScript
  • @argos-ci/core
NoYesSep 10, 2026
CVE-2026-59965HIGH7.1
  • JavaScript logoJavaScript
  • @jhb.software/payload-alt-text-plugin
NoNoSep 10, 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