Skip to main content

dot-access CVE-2026-107701

| EUVDEUVD-2026-95147 HIGH
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-10-08 VulnCheck GHSA-mcgm-wx64-jv4w
8.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted dotted path via user input
  2. Exploit
    Pass '__proto__' segment into set()
  3. Execution
    Pollute Object.prototype globally
  4. Impact
    Bypass authorization flag or crash process

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 a consuming application to call dot-access's set() with an attacker-influenced dotted path - specifically a path whose segments include '__proto__' (e.g., user-supplied field names, JSON keys, or form parameters flowing unsanitized into set()). Per the provided CVSS 4.0 vector (PR:N/UI:N/AC:L), no authentication or user interaction is modeled at the library boundary, but the real limiting factor is integration-specific: the flaw is only reachable when untrusted input controls the path argument. Applications that only pass trusted, static, or validated keys to set() are not exposed. Impact is prototype pollution affecting authorization flags and option defaults (integrity) or a process crash (availability/DoS).

Impact

This is a prototype pollution flaw (CWE-1321) in the npm library dot-access (vendor slug 'ntharim') affecting all versions through 1.0.0. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) with VI:H and VA:L yields a base score of 8.8, signaling network-reachable, low-complexity exploitation with high integrity impact and a lesser availability (DoS) impact, and no confidentiality impact (VC:N). A public proof-of-concept exists (R3tro16 gist), so publicly available exploit code exists; however there is no CISA KEV listing and no EPSS score in the provided data, so there is no confirmed active exploitation and no modeled exploitation probability to corroborate the high CVSS. The most important caveat: this is a library vulnerability whose reachability is entirely contingent on a consuming application passing attacker-controlled input as the dotted path to set(). The PR:N/AV:N rating therefore describes the worst-case integration (user-supplied field names flow into set()), not an intrinsic remote entry point of the library itself. Net assessment: the real-world priority is moderated heavily by prevalence - dot-access is an obscure, tiny-footprint package with no enterprise deployment signal - so despite the high integrity impact and available POC, this is a targeted-dependency concern rather than a widespread emergency. Teams should prioritize it only if dot-access appears in their dependency tree and feeds untrusted keys to set().

Exploit ScenarioDerived

An application uses dot-access's set() to map user-submitted field names (e.g., from a JSON body or form) into a nested configuration or user object. An attacker submits a field name containing a '__proto__' segment such as '__proto__.isAdmin', polluting Object.prototype so that all objects inherit the injected property - flipping an authorization flag or an option default, or supplying a value type that later crashes the process (DoS). A public proof-of-concept is available in the referenced gist.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Prototype pollution in dot-access through 1.0.0 allows remote attackers to modify Object.prototype when a consuming application passes an attacker-influenced dotted path to set(). By injecting __proto__ path segments, attackers can alter authorization flags or option defaults across all objects and may crash the process; the flaw is CWE-1321, rated 8.8 in CVSS 4.0, and assessed as CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L with high integrity and low availability impact. No public exploit identified at time of analysis and no CISA KEV confirmation; exploitation is integration-specific because the path argument must be attacker-controlled.

RemediationAI

No vendor-released patch is identified in the supplied data; monitor https://github.com/ntharim/dot-access/issues/5 and the VulnCheck advisory https://www.vulncheck.com/advisories/dot-access-through-1.0.0-prototype-pollution-via-set-path-argument for a fixed version, and upgrade to that exact release once specified. Until a patch is available, do not pass untrusted input as the path to set(); validate and allowlist path segments with a strict pattern and reject any segment equal to __proto__, constructor, or prototype before calling the library. Refactor call sites to use Map, Object.create(null), or a hardened setter that treats paths as literal keys and does not traverse prototypes, accepting the trade-off of broader code changes. As defense in depth, freeze Object.prototype with Object.freeze(Object.prototype) or run Node.js with --disable-proto=throw so __proto__ traversal throws, but note these can break libraries or application code that rely on dynamic prototype access or mutation. Also restrict and validate user-supplied field names, JSON keys, and form parameters at the API boundary so they cannot reach dot-access as dot-delimited paths.

Affected VersionsENISA

dot-access 0 ≤1.0.0

Affected Packages

euvd dot_access no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

dot-access is an npm utility for reading and writing nested object values via dot-delimited paths. The set() implementation at https://github.com/ntharim/dot-access/blob/v1.0.0/index.js#L9-L18 does not reject special path segments such as __proto__, constructor, or prototype, so a path like __proto__.isAdmin can walk to Object.prototype and define properties on it. This is CWE-1321 prototype pollution. The supplied CPE cpe:2.3:a:ntharim:dot-access:*:*:*:*:*:*:*:* confirms all versions through 1.0.0 are affected. The CVSS 4.0 vector has AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N and the independent assessment maps it to CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L: confidentiality impact is none, integrity impact is high from polluted authorization flags and defaults, and availability impact is low from a possible process crash. Reachability is conditional: a consuming application must pass an untrusted, attacker-controlled dotted path into set(); applications that only pass static or validated keys are not exposed.

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

Vendor (VulnCheck) PRIMARY 8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 8.2 HIGH

Network-reachable via untrusted input to set() with no auth or interaction modeled (AV:N/AC:L/PR:N/UI:N); prototype pollution corrupts integrity (I:H) and can crash the process (A:L), with no data disclosure (C:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

dot-access through 1.0.0 contains a prototype pollution vulnerability that allows attackers to modify Object.prototype by supplying a crafted dotted path to set(). Attackers controlling the path, such as through user-supplied field names, can use __proto__ segments to inject properties into all objects, altering authorization flags and option defaults or crashing the process.

Executive ViewAI

Why It Matters

A high-severity flaw in the dot-access library (versions through 1.0.0) allows an attacker who can influence a dotted path value passed into the library's set() function to silently alter core object behavior across a consuming application, including authorization flags and default options. Because the defect lives in a widely embeddable utility rather than a single product, exposure depends on which internal or customer-facing services accept externally influenced path inputs; those services could experience weakened access controls or process crashes. Leadership should care because the integrity of authorization decisions can be undermined without any credentials, even though no public exploit code or confirmed active exploitation has been identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: enforce strict allow-list validation and reject __proto__, constructor, and prototype path segments before they reach set(); wrap or replace the library with a safe path-setting utility; freeze Object.prototype and other critical prototypes where feasible; restrict which callers can supply path arguments; add logging and alerting for prototype-pollution path patterns; and prioritize monitoring of authorization-related behavior in affected services.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Rare
obscure single-maintainer npm utility, negligible production footprint
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.3%
Patch available No
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

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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