CVE-2024-38987
JavaScript vulnerability analysis and mitigation

Overview

The aofl cli-lib v3.14.0 contains a prototype pollution vulnerability via the component defaultsDeep. This vulnerability was discovered and disclosed on March 19, 2024, affecting all versions up to and including 3.14.0. The vulnerability allows attackers to execute arbitrary code or cause a Denial of Service (DoS) via injecting arbitrary properties (NVD, GitHub Issue).

Technical details

The vulnerability exists in the defaultsDeep function located in @aofl/cli-lib/modules/defaults.js:13. The function recursively copies all child properties to the destination without proper security validation. This allows attackers to manipulate the prototype of Object by modifying built-in Object.prototype through special properties proto or constructor.prototype (GitHub Gist).

Impact

The successful exploitation of this vulnerability can lead to multiple severe consequences including denial of service, remote code execution, or privilege escalation. The vulnerability allows attackers to pollute the application logic by injecting malicious payloads through the Object prototype (GitHub Issue).

Exploitability

A proof of concept (PoC) has been publicly disclosed demonstrating how an attacker can exploit this vulnerability by using JSON input containing proto properties to pollute the Object prototype. The attack can be verified by observing changes in the victim object's prototype before and after the attack (GitHub Gist).

Mitigation and workarounds

As no official patch has been provided by the maintainer, users are advised to implement several security measures: 1) Freeze the root prototype using Object.freeze, 2) Require schema validation of JSON input, 3) Avoid using unsafe recursive merge functions, 4) Consider using objects without prototypes (Object.create(null)), and 5) Use Map instead of Object as a best practice (GitHub Issue).

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