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-05-07
AI Q&A
2026-03-30
EPSS Evaluated
2026-05-05
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 Powered Q&A
Can you explain this vulnerability to me?

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.


How can this vulnerability impact me? :

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.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

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.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart