Low · published March 31, 2026
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.
| Product | Versions | Fixed in |
|---|---|---|
| nodejs/node.js | ≤ 20.20.1 | — |
| nodejs/node.js | ≥ 22.0.0, ≤ 22.22.1 | — |
| nodejs/node.js | ≥ 24.0.0, ≤ 24.14.0 | — |
| nodejs/node.js | ≥ 25.0.0, ≤ 25.8.1 | — |