Cloudanix VulnDB

CVE-2026-106073

Low · 3.3

CVSS

3.3

EPSS

0.3%

Published

Oct 23, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in Node.js lets code that should only see certain files peek at the names and locations of other files on the system.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
Application
Class
Authorization Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The Node.js permission model omits read permission enforcement for fs.realpathSync, allowing resolution of paths, symlink targets, and existence checks outside directories granted via --allow-fs-read.

Why it matters to the business

Attackers with the ability to run code under a restricted permission model can obtain limited filesystem layout information, increasing the chance of further unauthorized access or targeted attacks on Node.js deployments.

How an attack unfolds

An attacker supplies or influences JavaScript that executes under the --permission flag with narrow --allow-fs-read grants, then invokes fs.realpathSync on arbitrary paths to discover files, follow symlinks, and map the filesystem without triggering permission denials.

How to fix it

Upgrade Node.js 22.x, 24.x, and 26.x installations to the versions that restore permission checks on fs.realpathSync; until patches are available, avoid running untrusted code under the permission model or disable the feature for high-risk workloads.

How to confirm the fix worked

Confirm the installed Node.js version contains the permission-model fix for fs.realpathSync, then test that calls to the function on unauthorized paths produce the expected permission-denied behavior under --permission.

Typical attack path

  1. Obtain or inject code execution in a Node.js process started with --permission and restrictive --allow-fs-read flags
  2. Call fs.realpathSync repeatedly against candidate paths outside the allowed set
  3. Observe return values or errors to confirm file existence and resolve symlinks
  4. Use discovered paths to plan subsequent attacks such as directory traversal or targeted file access

How to detect it

Search application and system logs for repeated fs.realpathSync calls that succeed on paths outside expected allow lists; correlate with process startup arguments containing --permission.

What your security team should do

  • Prioritize patching all Node.js 22.x/24.x/26.x runtimes as soon as fixed builds are released
  • Review any applications using the experimental permission model and restrict --allow-fs-read grants to the minimum necessary
  • Monitor EPSS trend and re-evaluate exploit maturity within 30 days

The record

A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync()` without the required read permission checks. This is an incomplete fix of CVE-2026-21715, which only covered `fs.realpathSync.native()`. As a result, code running under `--permission` with restricted `--allow-fs-read` can still use `fs.realpathSync()` to check file existence, resolve symlink targets, and enumerate filesystem paths outside of permitted directories. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities