cve.bz

CVE-2026-123829 Node.js is vulnerable to Permission Model file-name disclosure via recursive fs.watch

2.5 lowEPSS 0.1%

Low (2.5) in nodejs node. EPSS 0.1% estimated probability of exploitation activity in the next 30 days.

On this page
A Permission Model bypass in Node.js recursive file watching discloses the names of files and directories the process is not permitted to read. On macOS and Windows, fs.watch() and fs.promises.watch() in recursive mode are backed by the native libuv watcher: FSEventWrap::Start checks kFileSystemRead only once, on the watched root, and FSEventWrap::OnEvent then forwards every filename libuv reports (relative paths at any depth) to the JavaScript callback without checking that each path is covered by the read grant. Code running under --permission with an exact read grant on a directory can therefore learn names such as sub/secret.txt even though readdir on that subdirectory is denied. The flaw exposes names and timing metadata, not file contents, and requires macOS or Windows plus files created under the watched directory by another actor. This vulnerability affects Node.js 26.x, 24.x, and 22.x.

Severity

CVSS 3.0

2.5 low
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
EPSS
0.1% estimated probability of exploitation activity in the next 30 days; 3rd percentile. Scored 2026-11-13. A forecast for this CVE across the internet, not for your own systems.
CWE
CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
OWASP Top 10
A01:2025 Broken Access Control
Published
Modified
Assigned by
openjs (CNA)
NVD analysis
Awaiting analysis
Record from
the NVD, synced

Ask an AI about this CVE

Show the promptExplain CVE-2026-123829 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-123829?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-123829?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-123829 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.

Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.

Badge for a README or a site

CVE-2026-123829

An image that stays current: it is drawn from the data each time it is fetched (a host that proxies images, as GitHub does, may show its copy for a while). Markdown:

[![CVE-2026-123829](https://cve.bz/cve/badge/CVE-2026-123829.svg)](https://cve.bz/cve/CVE-2026-123829)

HTML:

<a href="https://cve.bz/cve/CVE-2026-123829"><img src="https://cve.bz/cve/badge/CVE-2026-123829.svg" alt="CVE-2026-123829"></a>

Affected

Versions

From the CNA's record in the CVE List.

ProductAffected
nodejs nodefrom 0.0.0 before 22.23.5
nodejs nodefrom 23.0.0 before 24.22.3
nodejs nodefrom 25.0.0 before 26.13.1

Fix and patched versions

Linux distributions

DistributionReleasePackageFixed inAdvisory
Debian12, 13, 14nodejsno fix listedDEBIAN-CVE-2026-123829
Ubuntu24.04:LTS, 26.04:LTS, 26.10 and 5 morenodejsno fix listedUBUNTU-CVE-2026-123829
Red Hathummingbird:1nodejs22, nodejs22-bin, nodejs22-docs and 4 more1:22.23.5-2.3.2.3.1.hum1RHSA-2026:99433
Red Hathummingbird:1nodejs22-npm1:10.9.9-1.22.23.5.2.3.2.3.1.hum1RHSA-2026:99433
Red Hathummingbird:1nodejs24, nodejs24-bin, nodejs24-docs and 3 more1:24.22.3-0.1.hum1RHSA-2026:99435
Red Hathummingbird:1nodejs24-npm2:11.19.1-1.24.22.3.0.1.hum1RHSA-2026:99435
Red Hathummingbird:1nodejs24-npm-bin2:24.22.3-0.1.hum1RHSA-2026:99435
Red Hathummingbird:1nodejs26, nodejs26-bin, nodejs26-docs and 4 more1:26.13.1-0.1.hum1RHSA-2026:99436
Red Hathummingbird:1nodejs26-npm1:11.20.0-1.26.13.1.0.1.hum1RHSA-2026:99436
Alpinev3.21, v3.22nodejs22.23.5-r0ALPINE-CVE-2026-123829
Alpinev3.23, v3.24nodejs24.22.3-r0ALPINE-CVE-2026-123829
Alpinev3.24nodejs-current26.13.1-r0ALPINE-CVE-2026-123829
Alpaquitastreamnodejs2222.23.5-r0BELL-CVE-2026-123829
Alpaquitastreamnodejs2424.22.3-r0BELL-CVE-2026-123829
Alpaquitastreamnodejs2626.13.1-r0BELL-CVE-2026-123829
BellSoft Hardened Containersstreamnodejs2222.23.5-r0BELL-CVE-2026-123829
BellSoft Hardened Containersstreamnodejs2424.22.3-r0BELL-CVE-2026-123829
BellSoft Hardened Containersstreamnodejs2626.13.1-r0BELL-CVE-2026-123829

From the distributions' data via OSV.dev: the Debian Security Tracker; Ubuntu Security Notices © Canonical Ltd., CC BY-SA 4.0; Red Hat Security Data © Red Hat, Inc., CC BY 4.0; the Alpine secdb, CC BY-SA 4.0; BellSoft's OSV database, MIT. Modified: reformatted and linked to CVE records. Credits. On the distributions' own pages: Debian · Ubuntu · Red Hat · Alpine · Alpaquita · BellSoft Hardened Containers.

Red Hat

Red Hat rates this Low.

Red Hat's statement

This vulnerability is rated as Low severity because the flaw is confined to local environments, demands specific non-default execution flags, and only leaks filesystem metadata such as names and timestamps rather than actual file data. In typical Red Hat deployments on Linux systems, the native backend monitoring mechanisms implicated in this issue are not utilized, eliminating exposure. Consequently, standard production workloads running Node.js on supported Red Hat platforms remain unaffected.

Red Hat's mitigation

On Linux this issue does not apply. On macOS/Windows under --permission, avoid recursive fs.watch() on directories with narrower descendant read grants, or intentionally broaden the read grant to cover watched descendants.

ProductPackageStateAdvisory
Red Hat Enterprise Linux 10nodejs22Not affected
Red Hat Enterprise Linux 10nodejs24Not affected
Red Hat Enterprise Linux 10nodejs26Not affected
Red Hat Enterprise Linux 8nodejs:22/nodejsNot affected
Red Hat Enterprise Linux 8nodejs:24/nodejsNot affected
Red Hat Enterprise Linux 9nodejs:22/nodejsNot affected
Red Hat Enterprise Linux 9nodejs:24/nodejsNot affected
Red Hat Enterprise Linux 9nodejs:26/nodejsNot affected
Red Hat Hardened Imageshi/nodejsUnder investigation
Red Hat Hardened Imagesnodejs20Fix deferred
Red Hat Hardened Imagesnodejs22Affected
Red Hat Hardened Imagesnodejs24Affected
Red Hat Hardened Imagesnodejs25Fix deferred
Red Hat Hardened Imagesnodejs26Affected
Red Hat Hardened Imagesnpm12Under investigation

Contains Red Hat Security Data © Red Hat, Inc., licensed under CC BY 4.0. Source: https://access.redhat.com/security/data. Modified: reformatted. Red Hat's page for CVE-2026-123829.

Attack patterns (CAPEC)

The attack patterns MITRE's CAPEC relates to this record's weaknesses, as MITRE names them. Credits. More on the page of CWE-200 (59).

References

Check your stackJSON