Skip to main content

Node.js CVE-2026-106073

| EUVDEUVD-2026-109098 LOW
Improper Access Control (CWE-284)
3.3
CVSS 3.0 · Vendor
View

Attack ChainAIDerived

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

  1. Access
    Run partially-trusted JS in --permission process
  2. Exploit
    Call realpathSync outside allowed scope
  3. Execution
    Bypass permission model path check
  4. Impact
    Disclose filesystem paths beyond restriction

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target application to be running with the experimental Node.js Permission Model enabled (the --permission flag, or --experimental-permission in older releases); without it there is no filesystem restriction for realpathSync to bypass. The attacker must additionally be able to execute JavaScript within that permission-restricted Node.js process (hence local vector and PR:L) - for example partially-trusted plugin, template, or sandboxed code. Limiting factors: default Node.js deployments do not enable the Permission Model and are unaffected; impact is confined to confidentiality (path resolution leakage), with no integrity or availability effect, and no remote network vector.

Impact

This is a genuinely low-priority issue, and the signals are consistent rather than conflicting. The vendor-assigned CVSS 3.0 score is 3.3 (Low) with vector AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N: local attack vector, low privileges required (attacker must already be executing code inside the Node.js process), no user interaction, unchanged scope, and only low confidentiality impact with no integrity or availability impact. CWE-284 (Improper Access Control) matches the fix summary: 'permission: check permission model in realpathSync'. The vuln.today decision label is 'monitor', the issue is rated 'Low' in the Node.js release notes, and it is not listed in CISA KEV. No EPSS score was supplied in the input, so exploitation probability cannot be quantified here. A PoC reference (a GitHub gist) is listed but is not verified as working exploit code, so it should not be treated as a weaponized exploit. The practical risk is bounded sharply by the fact that this only matters when the experimental Node.js Permission Model is enabled; in the default configuration (no Permission Model), there is no restriction to bypass and no impact. Net assessment: a real but minor hardening fix, not an emergency.

Exploit ScenarioDerived

An application runs Node.js with the experimental Permission Model enabled to restrict filesystem access for partially-trusted code (for example a plugin, template, or sandboxed script). That code calls realpathSync, which prior to the fix did not consult the permission model, allowing it to resolve paths that the permission model should have blocked and thereby learn information about files outside its allowed scope. A public PoC reference exists but is not verified as working exploit code.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 23, 2026

Node.js's experimental Permission Model can be bypassed in fs.realpathSync, letting JavaScript already running inside a permission-restricted process resolve filesystem paths that fall outside the granted scope and infer information about them. The flaw is local and low severity (assessed CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N): it only matters when the process was started with the --permission flag (or --experimental-permission in older releases) and the attacker can execute code inside that process, such as partially trusted plugin, template or sandboxed code; default Node.js deployments without the Permission Model are unaffected, and there is no integrity or availability impact. It is fixed in the 26.12.1 security release (2026-10-21) and is rated 'Low' in the vendor's own list of fixes; a public PoC reference exists as a GitHub gist but is not verified as working exploit code, no active exploitation is confirmed, and priority is monitor.

RemediationAI

Apply the vendor security release: Node.js 26.12.1 (2026-10-21) contains the fix for CVE-2026-106073, per https://github.com/nodejs/node/releases/tag/v26.12.1; the October 2026 advisory at https://nodejs.org/en/blog/vulnerability/october-2026-security-releases should be consulted for the corresponding patched releases on the 22.x and 24.x lines, since the supplied data lists those branches as affected up to 22.23.3 and 24.22.0 but does not enumerate their fixed versions. If upgrading immediately is not possible, note that exposure requires the Permission Model to be enabled and attacker-controlled JavaScript to run inside that restricted process, so the practical interim control is to stop executing partially trusted plugin, template or sandboxed code inside --permission processes and confine such workloads with OS-level isolation (container or VM boundary) instead - with the trade-off that the Permission Model itself then provides no protection, and that it is experimental and received multiple access-control fixes in this same release, so it should not be treated as a sole security boundary. Because impact is limited to path-resolution information disclosure (C:L, I:N, A:N), no emergency change is warranted, but the upgrade should be folded into normal Node.js release tracking.

Affected VersionsENISA

Node 22.23.3 ≤22.23.3
Node 24.22.0 ≤24.22.0
Node 26.12.0 ≤26.12.0

Affected Packages

euvd node 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

The issue sits in Node.js's Permission Model, the experimental access-control layer enabled with the --permission flag (--experimental-permission in older lines) that restricts filesystem, child process, worker and addon operations for a running process. CWE-284 (Improper Access Control) describes the root cause: the permission check was missing from the realpathSync path-resolution code path, so an operation that canonicalises symlinks and returns absolute paths was not gated the same way as other fs operations. Because realpathSync resolves and reveals canonical paths, the gap is an information-exposure/scope-leak rather than a write or execution primitive, which is consistent with the supplied vector's confidentiality-only impact (C:L, I:N, A:N) and its local attack vector with low privileges (AV:L/PR:L) - the attacker must already be able to run JavaScript inside the permission-restricted process. The release notes list the fix simply as 'permission: check permission model in realpathSync (RafaelGSS) - Low'; the underlying commit is not enumerated in the supplied data, and no CPE strings were provided, so affected identification relies on the EUVD version ranges for the 22.x, 24.x and 26.x release lines. Notably, the same release carries several other permission/fs and TLS/DNS fixes, underscoring that the Permission Model is still experimental hardening territory rather than a mature security boundary.

Know when Node.js 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 (CNA) PRIMARY 3.3 LOW
AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 3.3 LOW

Attacker must run code inside a permission-restricted Node process (AV:L, PR:L); realpathSync skipping the permission check leaks path info (C:L) with no integrity or availability impact.

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

Primary rating from Vendor (CNA).

CVSS VectorVendor

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

Lifecycle Timeline

2
CVE Published
Oct 21, 2026 - 10:38 github-releases
LOW 3.3
CVE Published
Oct 21, 2026 - 10:38 github-releases
UNKNOWN (no severity yet)

Description PRE-NVD

Disclosed via GitHub release of nodejs/node. NVD scoring and full description are pending.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Ubiquitous
Node.js is a near-universal runtime; the affected Permission Model is experimental and rarely enabled.
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
High

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

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