Path Traversal in Node.js Node

CVE-2023-39332

Various `node:fs` functions allow specifying paths as either strings or `Uint8Array` objects. In Node.js environments, the `Buffer` class extends the `Uint8Array` class. Node.js prevents path traversal through strings (see CVE-2023-30584) and `Buffer` objects (see CVE-2023-32004), but not through non-`Buffer` `Uint8Array` objects. This is distinct from CVE-2023-32004 which only referred to `Buffer` objects. However, the vulnerability follows the same pattern using `Uint8Array` instead of `Buffer`. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.

Vulnerability class: Path Traversal (Directory Traversal)

EPSS: 0.018 (77.2th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2023-39332?
CVE-2023-39332 is a critical-severity vulnerability in Node.js Node, classified under Path Traversal. CVSS score: 9.8/10. Published 2023-10-18.
How severe is CVE-2023-39332?
Critical severity. CVSS v3 base score is 9.8 out of 10.