| Name | CVE-2026-21715 |
| 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. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
| References | DSA-6183-1 |
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| nodejs (PTS) | bullseye | 12.22.12~dfsg-1~deb11u4 | vulnerable |
| bullseye (security) | 12.22.12~dfsg-1~deb11u7 | vulnerable | |
| bookworm, bookworm (security) | 18.20.4+dfsg-1~deb12u1 | vulnerable | |
| trixie | 20.19.2+dfsg-1 | vulnerable | |
| trixie (security) | 20.19.2+dfsg-1+deb13u2 | fixed | |
| forky, sid | 22.22.2+dfsg+~cs22.19.15-1 | fixed |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| nodejs | source | trixie | 20.19.2+dfsg-1+deb13u2 | DSA-6183-1 | ||
| nodejs | source | (unstable) | 22.22.2+dfsg+~cs22.19.15-1 |
https://nodejs.org/en/blog/vulnerability/march-2026-security-releases#permission-model-bypass-in-realpathsyncnative-allows-file-existence-disclosure-cve-2026-21715---low
Fixed by: https://github.com/nodejs/node/commit/00830712bc623ba04b08856462a56b79e29f5cc3 (v20.20.2)