CVE-2023-39332

Name
CVE-2023-39332
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.
NVD Severity
high
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
MISC https://hackerone.com/reports/2199818
MISC https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LKYHSZQFDNR7RSA7LHVLLIAQMVYCUGBG/
MISC https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/FNA62Q767CFAFHBCDKYNPBMZWB7TWYVU/
MISC https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3N4NJ7FR4X4FPZUGNTQAPSTVB2HB2Y4A/
Third Party Advisory https://security.netapp.com/advisory/ntap-20231116-0009/

Match rules

CPE URI Source package Min version Max version
cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* nodejs >= None < 20.8.0
cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:* nodejs >= 20.0.0 < 20.8.0

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
nodejs-current 3.18-community 20.8.1-r0 Jose-Luis Rivas <ghostbar@riseup.net> fixed
nodejs 3.16-main 16.20.2-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
nodejs 3.15-main 16.20.2-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
nodejs 3.18-main 18.20.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable
nodejs 3.17-main 18.20.1-r0 Jakub Jirutka <jakub@jirutka.cz> possibly vulnerable