Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify API endpoint accepting JSON input
-
DeliveryCraft payload with '__proto__' property path
-
ExploitSend malicious request to vulnerable deepobj call
-
ExecutionPollute Object.prototype in runtime
-
ImpactExploit inherited malicious properties for authorization bypass
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires developers to pass unsanitized user-controlled input directly to @ranfdev/deepobj's property path parameters. The vulnerability description explicitly states: 'The property path must not be exposed as user input' - meaning default secure usage (hardcoded paths, internal logic) is NOT vulnerable. Attack succeeds only when applications accept external input (HTTP parameters, JSON payloads, file uploads, environment variables) and feed it to deepobj functions that manipulate object properties via paths. Network accessibility (AV:N) means the vulnerable endpoint must be reachable remotely, but no authentication (PR:N) or user interaction (UI:N) is required once the misconfigured code path exists. Non-vulnerable scenarios: applications using deepobj exclusively with static, developer-defined property paths. |
| Impact | The CVSS 8.2 score (High) with network attack vector (AV:N) and no required authentication (PR:N) appears severe, but real-world exploitability is constrained by a critical condition stated in the description: 'The property path must not be exposed as user input.' This means exploitation requires developers to pass unsanitized user input directly to deepobj's property path parameters - a configuration error rather than default behavior. The High Integrity impact (I:H) reflects prototype pollution's ability to alter application logic, bypass security controls, or enable privilege escalation, while Low Availability impact (A:L) suggests denial-of-service is secondary. No Confidentiality impact (C:N) indicates data exfiltration isn't the primary risk. Without EPSS scoring or KEV listing, widespread automated exploitation appears unlikely. However, publicly available GitHub advisory with technical details (GHSA-x7q7-fchv-8h2j) lowers the skill barrier for targeted attacks. Priority should focus on applications where user-controlled data flows into deepobj property paths - a code review exercise rather than blanket emergency patching. |
| Exploit ScenarioDerived | An attacker identifies a Node.js API endpoint where user-supplied JSON is processed using @ranfdev/deepobj to set nested object properties. By sending a crafted request with property path '{"__proto__": {"isAdmin": true}}', the attacker pollutes the Object prototype, causing all subsequently created objects in the application to inherit 'isAdmin: true'. This bypasses authorization checks that rely on prototype-inherited properties, escalating privileges or enabling unauthorized data access. GitHub advisory GHSA-x7q7-fchv-8h2j provides technical exploitation details. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 14, 2026
Prototype pollution in @ranfdev/deepobj npm package (versions ≤1.0.2) allows remote unauthenticated attackers to modify JavaScript object prototypes when property paths containing '__proto__', 'constructor', or 'prototype' are processed. The CVSS vector (AV:N/AC:L/PR:N/UI:N) indicates trivial exploitation against network-accessible applications, though real-world impact depends critically on whether user-controlled input is passed to property path parameters. EPSS data unavailable; not listed in CISA KEV. Publicly available exploit code exists (GitHub advisory GHSA-x7q7-fchv-8h2j). Vendor-released patch available in version 1.0.3.
RemediationAI
Upgrade @ranfdev/deepobj to version 1.0.3 or later, which contains the vendor-released patch per GitHub advisory GHSA-x7q7-fchv-8h2j (https://github.com/ranfdev/deepobj/security/advisories/GHSA-x7q7-fchv-8h2j). Update package.json to specify "@ranfdev/deepobj": "^1.0.3" and run npm update or yarn upgrade. If immediate upgrade is not feasible, implement input validation to reject property paths containing the literal strings '__proto__', 'constructor', or 'prototype' before passing them to deepobj functions - note this workaround may break legitimate use cases requiring these property names. Alternatively, refactor code to avoid exposing property path parameters to any user-controlled input sources (HTTP requests, environment variables, external configuration files). Review application code to identify all call sites where user input flows into deepobj's property manipulation methods and apply allowlist-based path validation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The @ranfdev/deepobj library is an npm package for deep object manipulation in JavaScript/Node.js applications (pkg:npm/@ranfdev_deepobj). The vulnerability stems from CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes). When the library processes property paths without adequate sanitization, attackers can inject special JavaScript property names ('__proto__', 'constructor', 'prototype') to pollute the Object prototype chain. This is a classic JavaScript prototype pollution vulnerability where operations like object merging, deep assignment, or path-based property setting fail to validate or block reserved prototype-modifying keywords. The impact manifests as unauthorized modification of base object behavior affecting all object instances in the JavaScript runtime.
Know when Prototype Pollution gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
DescriptionGitHub Advisory
Impact
Prototype pollution is possible when property paths contain __proto__/constructor/prototype. The property path must not be exposed as user input.
Executive ViewAI
The @ranfdev/deepobj npm package versions 1.0.2 and earlier contain a prototype pollution vulnerability that allows unauthenticated attackers to maliciously modify JavaScript object prototypes through network requests. Organizations using this library in production applications risk unauthorized code execution, authentication bypass, or data tampering if user-controlled input reaches vulnerable property-path parameters. Immediate inventory and patching are required to eliminate this attack vector.
Vendor-released patch: version 1.0.3. Apply immediately. Until patched, restrict network exposure of applications using affected versions, implement strict input validation on object property paths, and monitor for exploitation attempts targeting '__proto__', 'constructor', or 'prototype' keywords in request data.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Prototype Pollution
View allPrototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu
All versions of package dojo are vulnerable to Prototype Pollution via the setObject function. Rated critical severity (
Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau
The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to co
This affects the package ini before 1.3.6. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl
Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service
A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi
A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function
All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s
This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr
Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser
alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde
EUVD-2026-32976
GHSA-x7q7-fchv-8h2j
NVD
CVE.org
EPSS
Exploit-DB