{"id":"CVE-2023-39332","details":"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.\r\n\r\nThis is distinct from CVE-2023-32004 which only referred to `Buffer` objects. However, the vulnerability follows the same pattern using `Uint8Array` instead of `Buffer`.\r\n\r\nPlease note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.","aliases":["BIT-node-2023-39332","BIT-node-min-2023-39332"],"modified":"2026-03-20T12:29:48.888572Z","published":"2023-10-18T04:15:11.330Z","related":["ALSA-2023:7205","CGA-6r5c-29m7-93f9","openSUSE-SU-2024:13337-1"],"references":[{"type":"ADVISORY","url":"https://hackerone.com/reports/2199818"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20231116-0009/"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20241108-0002/"},{"type":"ARTICLE","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3N4NJ7FR4X4FPZUGNTQAPSTVB2HB2Y4A/"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/nodejs/node","events":[{"introduced":"e7618fb5a5fc25d76b6474e2a6607f04fd6f10e0"},{"fixed":"a86c2caea9c329442bbbd8eeec6d5385b594b7ca"}],"database_specific":{"versions":[{"introduced":"20.0.0"},{"fixed":"20.8.0"}]}}],"versions":["v20.0.0","v20.1.0","v20.2.0","v20.3.0","v20.3.1","v20.4.0","v20.5.0","v20.5.1","v20.6.0","v20.6.1","v20.7.0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-39332.json","unresolved_ranges":[{"events":[{"introduced":"0"},{"last_affected":"39"}]}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}