CVE-2026-21715
Received Received - Intake
Permission Bypass in Node.js fs.realpathSync.native() Function

Publication date: 2026-03-30

Last updated on: 2026-04-01

Assigner: HackerOne

Description
A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync.native()` without the required read permission checks, while all comparable filesystem functions correctly enforce them. As a result, code running under `--permission` with restricted `--allow-fs-read` can still use `fs.realpathSync.native()` to check file existence, resolve symlink targets, and enumerate filesystem paths outside of permitted directories. This vulnerability affects **20.x, 22.x, 24.x, and 25.x** processes using the Permission Model where `--allow-fs-read` is intentionally restricted.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-30
Last Modified
2026-04-01
Generated
2026-06-16
AI Q&A
2026-03-31
EPSS Evaluated
2026-06-15
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
node.js node.js From 20.0.0 (inc) to 26.0.0 (exc)
node.js node.js From 20.0 (inc) to 25.0 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-732 The product specifies permissions for a security-critical resource in a way that allows that resource to be read or modified by unintended actors.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Compliance Impact

This vulnerability allows code with restricted filesystem read permissions to bypass those restrictions using the fs.realpathSync.native() function, potentially accessing or enumerating filesystem paths outside of permitted directories.

Such unauthorized access to filesystem paths could lead to exposure of sensitive or protected data, which may impact compliance with data protection regulations like GDPR or HIPAA that require strict access controls and protection of personal or sensitive information.

However, the CVE description does not explicitly mention compliance impacts or specific regulatory violations.

Executive Summary

This vulnerability is a flaw in the Node.js Permission Model related to filesystem enforcement. Specifically, the function fs.realpathSync.native() does not perform the required read permission checks that other similar filesystem functions do.

Because of this flaw, code running with restricted filesystem read permissions (using --permission with limited --allow-fs-read) can still use fs.realpathSync.native() to check if files exist, resolve symbolic link targets, and enumerate filesystem paths outside the directories it is supposed to have access to.

This affects Node.js versions 20.x, 22.x, 24.x, and 25.x when using the Permission Model with restricted --allow-fs-read settings.

Impact Analysis

This vulnerability can allow an attacker or malicious code running with restricted filesystem read permissions to bypass those restrictions. They can use fs.realpathSync.native() to access information about files and directories outside the permitted scope.

Specifically, it can be used to check for the existence of files, resolve symbolic links, and enumerate filesystem paths that should be off-limits, potentially exposing sensitive information or aiding further attacks.

The CVSS base score of 3.3 indicates a low severity impact, with limited confidentiality impact and no impact on integrity or availability.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-21715. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart