Skip to content
Fencer Intel
low 2.5

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 Fencer

Vendor 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.hum1
    affected: 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

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.