Skip to main content

@ranfdev/deepobj CVE-2026-46509

| EUVDEUVD-2026-32976 HIGH
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-05-14 https://github.com/ranfdev/deepobj GHSA-x7q7-fchv-8h2j
8.2
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify API endpoint accepting JSON input
  2. Delivery
    Craft payload with '__proto__' property path
  3. Exploit
    Send malicious request to vulnerable deepobj call
  4. Execution
    Pollute Object.prototype in runtime
  5. Impact
    Exploit 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

deepobj < 1.0.3

Affected Packages

npm @ranfdev/deepobj fix: 1.0.3
euvd deepobj fix: 1.0.3

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

GitHub Advisory PRIMARY 8.2 HIGH
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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.0%
Top 87% exploitable
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-34621 HIGH POC
8.6 Apr 11

Prototype pollution in Adobe Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier enables arbitrary code execu

CVE-2021-23450 CRITICAL POC
9.8 Dec 17

All versions of package dojo are vulnerable to Prototype Pollution via the setObject function. Rated critical severity (

CVE-2024-56059 CRITICAL
9.8 Dec 18

Prototype pollution in the farinspace Partners WordPress plugin (versions up to and including 0.2.0) enables remote unau

CVE-2021-23383 CRITICAL POC
9.8 May 04

The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to co

CVE-2020-7788 CRITICAL POC
9.8 Dec 11

This affects the package ini before 1.3.6. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitabl

CVE-2020-28271 CRITICAL POC
9.8 Nov 12

Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service

CVE-2023-38894 CRITICAL POC
9.8 Aug 16

A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code vi

CVE-2024-24292 CRITICAL POC
9.8 Mar 28

A Prototype Pollution issue in Aliconnect /sdk v.0.0.6 allows an attacker to execute arbitrary code via the aim function

CVE-2023-26121 CRITICAL POC
10.0 Apr 11

All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper s

CVE-2021-23449 CRITICAL POC
10.0 Oct 18

This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitr

CVE-2024-39011 CRITICAL POC
9.8 Jul 30

Prototype Pollution in chargeover redoc v2.0.9-rc.69 allows attackers to execute arbitrary code or cause a Denial of Ser

CVE-2024-38988 CRITICAL POC
9.8 Mar 28

alizeait unflatto <= 1.0.2 was discovered to contain a prototype pollution via the method exports.unflatto at /dist/inde

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy