CVE-2026-21715

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.

Published: 2026-03-30 Last update: 2026-04-01 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2026-21715 is rated Low Risk (13.3/100): CVSS Low severity, with low exploitation likelihood (EPSS 0.01%). Mandatory action: Low composite risk—no urgent action required; patch on your normal maintenance cycle and revisit priority if CVSS or EPSS increases.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2026-21715

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-03-31 0.01%

Full EPSS history (1 record total)

Common vulnerability scoring system (CVSS) metrics for CVE-2026-21715

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
3.3 3.0 LOW
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N Click to expand
Attack vector (AV:L)
They already need access on the box, or another person has to do something wrong; it’s not a remote drive-by.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:L)
A normal user session is enough; they don’t have to be admin.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:L)
Some sensitive info could get out, but not a total data dump.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:N)
Service keeps running; no real outage angle.
1.8 1.4 [email protected]

Weakness enumeration for CVE-2026-21715

OS Trackers for CVE-2026-21715

vendor priority summary link
alpine CVE-2026-21715: 1 source package rows (nodejs); 4 state rows across 4 repos (3.21-main, 3.22-main, 3.23-main, edge-main); fixed 4, open 0. https://security.alpinelinux.org/vuln/CVE-2026-21715
debian unimportant CVE-2026-21715 unimportant priority: Debian including 1 source packages (nodejs), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. https://security-tracker.debian.org/tracker/CVE-2026-21715
redhat low https://access.redhat.com/security/cve/CVE-2026-21715
suse low CVE-2026-21715 severity low: SUSE including 66 source package names (corepack24-24.14.1-1.1, corepack24-24.14.1-160000.1.1, …), 137 product×package rows across 20 product lines (SUSE Liberty Linux 8, SUSE Liberty Linux 9, … (20 product lines)): Known Not Affected 79, Fixed 53, First Fixed 5. https://www.suse.com/security/cve/CVE-2026-21715/
ubuntu medium CVE-2026-21715 medium priority: Ubuntu including 1 source packages (nodejs), 8 status rows across 8 suites (bionic, focal, jammy, noble, questing, trusty, upstream, xenial): needs-triage 7, released 1. https://ubuntu.com/security/CVE-2026-21715

Affected software / configurations for CVE-2026-21715

Vendor Product Version Raw CPE
No affected products in dataset.

References for CVE-2026-21715

cvelogic Threat Intelligence