Name | CVE-2024-22018 |
Description | A vulnerability has been identified in Node.js, affecting users of the experimental permission model when the --allow-fs-read flag is used. This flaw arises from an inadequate permission model that fails to restrict file stats through the fs.lstat API. As a result, malicious actors can retrieve stats from files that they do not have explicit read access to. This vulnerability affects all users using the experimental permission model in Node.js 20 and Node.js 21. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
nodejs (PTS) | jessie | 0.10.29~dfsg-2 | fixed |
stretch | 4.8.2~dfsg-1 | fixed | |
buster (security), buster, buster (lts) | 10.24.0~dfsg-1~deb10u4 | fixed | |
bullseye | 12.22.12~dfsg-1~deb11u4 | fixed | |
bullseye (security) | 12.22.12~dfsg-1~deb11u5 | fixed | |
bookworm | 18.19.0+dfsg-6~deb12u2 | fixed | |
bookworm (security) | 18.19.0+dfsg-6~deb12u1 | fixed | |
trixie | 20.18.0+dfsg-2 | fixed | |
sid | 20.18.1+dfsg-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 | jessie | (not affected) | |||
nodejs | source | stretch | (not affected) | |||
nodejs | source | buster | (not affected) | |||
nodejs | source | bullseye | (not affected) | |||
nodejs | source | bookworm | (not affected) | |||
nodejs | source | (unstable) | 20.15.1+dfsg-1 |
[bookworm] - nodejs <not-affected> (Feature was introduced in nodeJS 20)
[bullseye] - nodejs <not-affected> (Feature was introduced in nodeJS 20)
https://nodejs.org/en/blog/vulnerability/july-2024-security-releases#fslstat-bypasses-permission-model-cve-2024-22018---low
Feature introduced in 20 see https://nodejs.org/en/blog/announcements/v20-release-announce