CVE-2026-123829 json
Node.js is vulnerable to Permission Model file-name disclosure via recursive fs.watch
published 16h ago modified 15h ago also EUVD-2026-123678
- cvss
- 2.5
- version 3.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no EPSS score yet
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- nodejs node 22.23.5, 24.22.3, 26.13.1
- nodejs Alpine 3.22, Alpine 3.21 22.23.5-r0
- nodejs Alpine 3.24, Alpine 3.23 24.22.3-r0
alpine advisories ALPINE-CVE-2026-123829
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Is CVE-2026-123829 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-123829 updated cvss 2.5
nodejs: Node.js: Information disclosure via improper permission checks in recursive file watching
-
Red Hat Hardened Images nodejs25 25.9.0-1.7.hum1, nodejs20 20.20.2-1.3.hum1, nodejs24 24.22.2-0.2.hum1, nodejs26 26.13.0-0.1.1.hum1, nodejs22 22.23.4-2.3.2.3.1.hum1affected: workaround, no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.0 | 2.5 | CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N |
Affected products
- nodejs node
Classification
- Weakness
-
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
- Technology feeds
References
Sources
- CVE List CVE-2026-123829
- NVD CVE-2026-123829
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.