Vulnerabilities / CVE-2023-39332

critical

CVE-2023-39332

nodejs: path traversal through path stored in Uint8Array

Published Modified CWE 22
In the Trivy database since at least 24 Oct 2026, 07:11 UTCWhen it arrived before that build is not recorded.

Severity by source

NVD9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Red Hat9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Bitnami9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Trivy's own label is CRITICAL. Rated critical by NVD, Bitnami, Photon OS. Rated lower by Red Hat (high), AlmaLinux (high), Oracle (high), Rocky Linux (high).

Description

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.

Affected packages and fixed versions

SourcePackageFixed in
bitnami::Bitnami Vulnerability Databasenode, node-min20.8.0
Photon OS 5.0nodejs, nodejs-devel18.18.2-1.ph5
alma 8nodejs:20::nodejs, nodejs:20::nodejs-devel, nodejs:20::nodejs-docs and 5 more1:20.8.1-1.module_el8.9.0+3675+0258a6d9 and 3 more
alpine 3.18nodejs-current20.8.1-r0
alpine 3.19nodejs-current20.8.1-r0
alpine 3.20nodejs-current20.8.1-r0
alpine 3.21nodejs-current20.8.1-r0
alpine 3.22nodejs-current20.8.1-r0
alpine 3.23nodejs-current20.8.1-r0
alpine 3.24nodejs-current20.8.1-r0
alpine edgenodejs-current20.8.1-r0
chainguardnodejs-16, nodejs-18, nodejs-200 and 1 more
Show all 37 entries from 15 sources
SourcePackageFixed in
bitnami::Bitnami Vulnerability Databasenode20.8.0
bitnami::Bitnami Vulnerability Databasenode-min20.8.0
Photon OS 5.0nodejs18.18.2-1.ph5
Photon OS 5.0nodejs-devel18.18.2-1.ph5
alma 8nodejs:20::nodejs1:20.8.1-1.module_el8.9.0+3675+0258a6d9
alma 8nodejs:20::nodejs-devel1:20.8.1-1.module_el8.9.0+3675+0258a6d9
alma 8nodejs:20::nodejs-docs1:20.8.1-1.module_el8.9.0+3675+0258a6d9
alma 8nodejs:20::nodejs-full-i18n1:20.8.1-1.module_el8.9.0+3675+0258a6d9
alma 8nodejs:20::nodejs-nodemon3.0.1-1.module_el8.9.0+3675+0258a6d9
alma 8nodejs:20::nodejs-packaging2021.06-4.module_el8.9.0+3684+11b9e959
alma 8nodejs:20::nodejs-packaging-bundler2021.06-4.module_el8.9.0+3684+11b9e959
alma 8nodejs:20::npm1:10.1.0-1.20.8.1.1.module_el8.9.0+3675+0258a6d9
alpine 3.18nodejs-current20.8.1-r0
alpine 3.19nodejs-current20.8.1-r0
alpine 3.20nodejs-current20.8.1-r0
alpine 3.21nodejs-current20.8.1-r0
alpine 3.22nodejs-current20.8.1-r0
alpine 3.23nodejs-current20.8.1-r0
alpine 3.24nodejs-current20.8.1-r0
alpine edgenodejs-current20.8.1-r0
chainguardnodejs-160
chainguardnodejs-180
chainguardnodejs-2020.8.0-r0
Oracle Linux 8nodejs1:20.8.1-1.module+el8.9.0+90082+b6a613a6
Oracle Linux 8nodejs-devel1:20.8.1-1.module+el8.9.0+90082+b6a613a6
Oracle Linux 8nodejs-docs1:20.8.1-1.module+el8.9.0+90082+b6a613a6
Oracle Linux 8nodejs-full-i18n1:20.8.1-1.module+el8.9.0+90082+b6a613a6
Oracle Linux 8nodejs-nodemon3.0.1-1.module+el8.9.0+90082+b6a613a6
Oracle Linux 8nodejs-packaging2021.06-4.module+el8.9.0+90082+b6a613a6
Oracle Linux 8nodejs-packaging-bundler2021.06-4.module+el8.9.0+90082+b6a613a6
Oracle Linux 8npm1:10.1.0-1.20.8.1.1.module+el8.9.0+90082+b6a613a6
rocky 8nodejs:18::nodejs-nodemon3.0.1-1.module+el8.8.0+1459+02651ab6
rocky 8nodejs:18::nodejs-packaging2021.06-4.module+el8.7.0+1072+5b168780
rocky 8nodejs:18::nodejs-packaging-bundler2021.06-4.module+el8.7.0+1072+5b168780
wolfinodejs-160
wolfinodejs-180
wolfinodejs-2020.8.0-r0

References

All 31 references

Vulnerability data compiled from the Trivy vulnerability database (trivy-db, Aqua Security, Apache License 2.0), which aggregates third-party advisories. CVE records are published by The MITRE Corporation under the CVE Terms of Use; CVE is a trademark of MITRE. This product uses data from the NVD API but is not endorsed or certified by the NVD. Severity, titles and advisory data from the GitHub Advisory Database (CC BY 4.0), Red Hat security data (CC BY 4.0) and the other sources linked on each entry. Entries may be summarised or re-formatted; the linked original is the authoritative record.