| Name | CVE-2025-55130 |
| Description | A flaw in Node.js’s Permissions model allows attackers to bypass `--allow-fs-read` and `--allow-fs-write` restrictions using crafted relative symlink paths. By chaining directories and symlinks, a script granted access only to the current directory can escape the allowed path and read sensitive files. This breaks the expected isolation guarantees and enables arbitrary file read/write, leading to potential system compromise. This vulnerability affects users of the permission model on Node.js v20, v22, v24, and v25. |
| 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-6166-1 |
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| nodejs (PTS) | bullseye | 12.22.12~dfsg-1~deb11u4 | fixed |
| bullseye (security) | 12.22.12~dfsg-1~deb11u7 | fixed | |
| bookworm, bookworm (security) | 18.20.4+dfsg-1~deb12u1 | fixed | |
| 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-3 | fixed |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| nodejs | source | bullseye | (not affected) | |||
| nodejs | source | bookworm | (not affected) | |||
| nodejs | source | trixie | 20.19.2+dfsg-1+deb13u1 | DSA-6166-1 | ||
| nodejs | source | (unstable) | 22.22.0+dfsg+~cs22.19.6-1 |
[bookworm] - nodejs <not-affected> (permission model feature added to nodejs v20)
[bullseye] - nodejs <not-affected> (permission model feature added to nodejs v20)
https://nodejs.org/en/blog/vulnerability/december-2025-security-releases#bypass-file-system-permissions-using-crafted-symlinks-cve-2025-55130---high
Fixed by: https://github.com/nodejs/node/commit/494f62dc230b407461f4a2de893a7c6a44273d08 (v20.20.0)
Permission model added by nodejs v20.0.0 (https://nodejs.org/en/blog/announcements/v20-release-announce)