CVE-2023-39332
Various `node:fs` functions allow specifying paths as either strings or `Uint8Array` objects. In...
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
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.
- Record
CVE-2023-39332- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
CVE List No score
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.
- Record
CVE-2023-39332- Updated
- 2026-11-02
EUVDEUVD-2023-43063 No score
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.
- Record
EUVD-2023-43063- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-9hm3-chgj-45rm
9.8
Various `node:fs` functions allow specifying paths as either strings or `Uint8Array` objects. In...
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 (report 2038134), which only referred to Buffer objects. However, the vulnerability follows the same pattern using Uint8Array instead of Buffer.
Impacts:
This vulnerability affects all users using the experimental permission model in Node.js 20.
Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.
- Record
GHSA-9hm3-chgj-45rm- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
OSVALPINE-CVE-2023-39332
9.8
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.
- Record
ALPINE-CVE-2023-39332- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
OSVRHSA-2023:7205
9.8
Red Hat Security Advisory: nodejs:20 security update
- Record
RHSA-2023:7205- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 6 moreShow less
OSVALSA-2023:7205 No score
Important: nodejs:20 security update
Node.js is a software development platform for building fast and scalable network applications in the JavaScript programming language.
Security Fix(es):
- HTTP/2: Multiple HTTP/2 enabled web servers are vulnerable to a DDoS attack (Rapid Reset Attack) (CVE-2023-44487)
- nodejs: permission model improperly protects against path traversal (CVE-2023-39331)
- nodejs: path traversal through path stored in Uint8Array (CVE-2023-39332)
- nodejs: integrity checks according to policies can be circumvented (CVE-2023-38552)
- nodejs: code injection via WebAssembly export names (CVE-2023-39333)
- node-undici: cookie leakage (CVE-2023-45143)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
ALSA-2023:7205- Updated
- 2026-11-02
OSVBIT-node-2023-39332 No score
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.
- Record
BIT-node-2023-39332- Updated
- 2026-11-02
OSVBIT-node-min-2023-39332 No score
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.
- Record
BIT-node-min-2023-39332- Updated
- 2026-11-02
OSV No score
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.
- Record
CVE-2023-39332- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13337-1 No score
corepack20-20.8.1-1.1 on GA media
These are all security issues fixed in the corepack20-20.8.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13337-1- Updated
- 2026-11-02
OSVRLSA-2023:7205 No score
Important: nodejs:20 security update
Node.js is a software development platform for building fast and scalable network applications in the JavaScript programming language.
Security Fix(es):
-
HTTP/2: Multiple HTTP/2 enabled web servers are vulnerable to a DDoS attack (Rapid Reset Attack) (CVE-2023-44487)
-
nodejs: permission model improperly protects against path traversal (CVE-2023-39331)
-
nodejs: path traversal through path stored in Uint8Array (CVE-2023-39332)
-
nodejs: integrity checks according to policies can be circumvented (CVE-2023-38552)
-
nodejs: code injection via WebAssembly export names (CVE-2023-39333)
-
node-undici: cookie leakage (CVE-2023-45143)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
RLSA-2023:7205- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nodejs-currentAlpine:v3.18 |
before 20.8.1-r0 | 20.8.1-r0 |
nodejs-currentAlpine:v3.19 |
before 20.8.1-r0 | 20.8.1-r0 |
nodejs-currentAlpine:v3.20 |
before 20.8.1-r0 | 20.8.1-r0 |
nodejs-currentAlpine:v3.21 |
before 20.8.1-r0 | 20.8.1-r0 |
nodejs-currentAlpine:v3.22 |
before 20.8.1-r0 | 20.8.1-r0 |
nodejs-currentAlpine:v3.23 |
before 20.8.1-r0 | 20.8.1-r0 |
nodejs-currentAlpine:v3.24 |
before 20.8.1-r0 | 20.8.1-r0 |
nodejsAlmaLinux:8 From an advisory covering 6 CVEs |
before 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 | 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 |
nodejs-develAlmaLinux:8 From an advisory covering 6 CVEs |
before 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 | 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 |
nodejs-docsAlmaLinux:8 From an advisory covering 6 CVEs |
before 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 | 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 |
Show 20 moreShow less
| Package | Affected | Fixed |
|---|---|---|
nodejs-full-i18nAlmaLinux:8 From an advisory covering 6 CVEs |
before 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 | 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 |
nodejs-nodemonAlmaLinux:8 From an advisory covering 6 CVEs |
before 3.0.1-1.module_el8.9.0+3675+0258a6d9 | 3.0.1-1.module_el8.9.0+3675+0258a6d9 |
nodejs-packagingAlmaLinux:8 From an advisory covering 6 CVEs |
before 2021.06-4.module_el8.9.0+3684+11b9e959 | 2021.06-4.module_el8.9.0+3684+11b9e959 |
nodejs-packaging-bundlerAlmaLinux:8 From an advisory covering 6 CVEs |
before 2021.06-4.module_el8.9.0+3684+11b9e959 | 2021.06-4.module_el8.9.0+3684+11b9e959 |
npmAlmaLinux:8 From an advisory covering 6 CVEs |
before 1:10.1.0-1.20.8.1.1.module_el8.9.0+3675+0258a6d9 | 1:10.1.0-1.20.8.1.1.module_el8.9.0+3675+0258a6d9 |
nodeBitnami |
20.0.0 up to 20.8.0 | 20.8.0 |
node-minBitnami |
20.0.0 up to 20.8.0 | 20.8.0 |
nodejsRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 |
nodejs-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 |
nodejs-debugsourceRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 |
nodejs-develRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 |
nodejs-docsRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 |
nodejs-full-i18nRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 |
nodejs-nodemonRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 0:3.0.1-1.module+el8.9.0+20473+c4e3d824 | 0:3.0.1-1.module+el8.9.0+20473+c4e3d824 |
nodejs-packagingRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 0:2021.06-4.module+el8.9.0+19519+e25b965a | 0:2021.06-4.module+el8.9.0+19519+e25b965a |
nodejs-packaging-bundlerRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 0:2021.06-4.module+el8.9.0+19519+e25b965a | 0:2021.06-4.module+el8.9.0+19519+e25b965a |
npmRed Hat:enterprise_linux:8::appstream From an advisory covering 6 CVEs |
before 1:10.1.0-1.20.8.1.1.module+el8.9.0+20473+c4e3d824 | 1:10.1.0-1.20.8.1.1.module+el8.9.0+20473+c4e3d824 |
nodejs-nodemonRocky Linux:8 From an advisory covering 6 CVEs |
before 0:3.0.1-1.module+el8.8.0+1459+02651ab6 | 0:3.0.1-1.module+el8.8.0+1459+02651ab6 |
nodejs-packagingRocky Linux:8 From an advisory covering 6 CVEs |
before 0:2021.06-4.module+el8.7.0+1072+5b168780 | 0:2021.06-4.module+el8.7.0+1072+5b168780 |
nodejs20openSUSE:Tumbleweed From an advisory covering 6 CVEs |
before 20.8.1-1.1 | 20.8.1-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected, aliases, references | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-39332 is a critical vulnerability (CVSS 9.8) in Nodejs Node, published October 18, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.19%, the 82nd percentile. Fixed in nodejs-current 20.8.1-r0.
References
hackerone.com/reports/2199818
lists.fedoraproject.org/archives/list/[email protected]/message/3N4NJ7FR4X4FPZUGNTQAPSTVB2HB2Y4A
security.netapp.com/advisory/ntap-20231116-0009
security.netapp.com/advisory/ntap-20241108-0002
nvd.nist.gov/vuln/detail/CVE-2023-39332
lists.fedoraproject.org/archives/list/[email protected]/message/FNA62Q767CFAFHBCDKYNPBMZWB7TWYVU
Show 51 moreShow less
lists.fedoraproject.org/archives/list/[email protected]/message/LKYHSZQFDNR7RSA7LHVLLIAQMVYCUGBG
github.com/advisories/GHSA-9hm3-chgj-45rm
security.alpinelinux.org/vuln/CVE-2023-39332
access.redhat.com/errata/RHSA-2023:7205
access.redhat.com/security/cve/CVE-2023-38552
access.redhat.com/security/cve/CVE-2023-39331
access.redhat.com/security/cve/CVE-2023-39332
access.redhat.com/security/cve/CVE-2023-39333
access.redhat.com/security/cve/CVE-2023-44487
access.redhat.com/security/cve/CVE-2023-45143
bugzilla.redhat.com/2242803
bugzilla.redhat.com/2244104
bugzilla.redhat.com/2244413
bugzilla.redhat.com/2244414
bugzilla.redhat.com/2244415
bugzilla.redhat.com/2244418
errata.almalinux.org/8/ALSA-2023-7205.html
github.com/CVEProject/cvelistV5/tree/main/cves/2023/39xxx/CVE-2023-39332.json
access.redhat.com/security/updates/classification
access.redhat.com/security/vulnerabilities/RHSB-2023-003
bugzilla.redhat.com/show_bug.cgi?id=2242803
bugzilla.redhat.com/show_bug.cgi?id=2244104
bugzilla.redhat.com/show_bug.cgi?id=2244413
bugzilla.redhat.com/show_bug.cgi?id=2244414
bugzilla.redhat.com/show_bug.cgi?id=2244415
bugzilla.redhat.com/show_bug.cgi?id=2244418
security.access.redhat.com/data/csaf/v2/advisories/2023/rhsa-2023_7205.json
cve.org/CVERecord?id=CVE-2023-38552
nvd.nist.gov/vuln/detail/CVE-2023-38552
cve.org/CVERecord?id=CVE-2023-39331
nvd.nist.gov/vuln/detail/CVE-2023-39331
cve.org/CVERecord?id=CVE-2023-39332
cve.org/CVERecord?id=CVE-2023-39333
nvd.nist.gov/vuln/detail/CVE-2023-39333
cve.org/CVERecord?id=CVE-2023-44487
nvd.nist.gov/vuln/detail/CVE-2023-44487
github.com/dotnet/announcements/issues/277
pkg.go.dev/vuln/GO-2023-2102
cisa.gov/news-events/alerts/2023/10/10/http2-rapid-reset-vulnerability-cve-2023-44487
nginx.com/blog/http-2-rapid-reset-attack-impacting-f5-nginx-products
cisa.gov/known-exploited-vulnerabilities-catalog
cve.org/CVERecord?id=CVE-2023-45143
nvd.nist.gov/vuln/detail/CVE-2023-45143
github.com/nodejs/undici/security/advisories/GHSA-wqq4-5wpv-mx2g
errata.rockylinux.org/RLSA-2023:7205
suse.com/security/cve/CVE-2023-38552
suse.com/security/cve/CVE-2023-39331
suse.com/security/cve/CVE-2023-39332
suse.com/security/cve/CVE-2023-39333
suse.com/security/cve/CVE-2023-44487
suse.com/security/cve/CVE-2023-45143