# CVE-2023-39332: Node.js 20: Various `node:fs` functions allow specifying paths as either strings or `Uint8Array` objects.

CVE-2023-39332 is fixed in 9 products on 2 platforms, first by Node.js 20 20.9.0, released October 24, 2023. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2023-39332
- Priority: High
- CVSS: 9.8 (Important)
- EPSS: 0.0219
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Oct 18, 2023
- Vendor advisory: https://nvd.nist.gov/vuln/detail/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.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Windows apps | Node.js 20 | 20.9.0 | [Node.js 20 20.9.0](https://patchblox.com/security/data/fix/windows-app/openjs.nodejs.20-20.9.0.md) | Oct 24, 2023 |
| Linux | nodejs RHEL 8 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | [RHSA-2023:7205](https://patchblox.com/security/data/fix/linux/rhsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs almalinux 8 | 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 | [ALSA-2023:7205](https://patchblox.com/security/data/fix/linux/alsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs ol 8 | 1:20.8.1-1.module+el8.9.0+90082+b6a613a6 | [ELSA-2023-7205](https://patchblox.com/security/data/fix/linux/elsa-2023-7205.md) | Nov 22, 2023 |
| Linux | nodejs-devel RHEL 8 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | [RHSA-2023:7205](https://patchblox.com/security/data/fix/linux/rhsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-devel almalinux 8 | 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 | [ALSA-2023:7205](https://patchblox.com/security/data/fix/linux/alsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-devel ol 8 | 1:20.8.1-1.module+el8.9.0+90082+b6a613a6 | [ELSA-2023-7205](https://patchblox.com/security/data/fix/linux/elsa-2023-7205.md) | Nov 22, 2023 |
| Linux | nodejs-docs RHEL 8 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | [RHSA-2023:7205](https://patchblox.com/security/data/fix/linux/rhsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-docs almalinux 8 | 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 | [ALSA-2023:7205](https://patchblox.com/security/data/fix/linux/alsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-docs ol 8 | 1:20.8.1-1.module+el8.9.0+90082+b6a613a6 | [ELSA-2023-7205](https://patchblox.com/security/data/fix/linux/elsa-2023-7205.md) | Nov 22, 2023 |
| Linux | nodejs-full-i18n RHEL 8 | 1:20.8.1-1.module+el8.9.0+20473+c4e3d824 | [RHSA-2023:7205](https://patchblox.com/security/data/fix/linux/rhsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-full-i18n almalinux 8 | 1:20.8.1-1.module_el8.9.0+3675+0258a6d9 | [ALSA-2023:7205](https://patchblox.com/security/data/fix/linux/alsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-full-i18n ol 8 | 1:20.8.1-1.module+el8.9.0+90082+b6a613a6 | [ELSA-2023-7205](https://patchblox.com/security/data/fix/linux/elsa-2023-7205.md) | Nov 22, 2023 |
| Linux | nodejs-nodemon RHEL 8 | 0:3.0.1-1.module+el8.9.0+20473+c4e3d824 | [RHSA-2023:7205](https://patchblox.com/security/data/fix/linux/rhsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-nodemon almalinux 8 | 3.0.1-1.module_el8.9.0+3675+0258a6d9 | [ALSA-2023:7205](https://patchblox.com/security/data/fix/linux/alsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-nodemon ol 8 | 0:3.0.1-1.module+el8.9.0+90082+b6a613a6 | [ELSA-2023-7205](https://patchblox.com/security/data/fix/linux/elsa-2023-7205.md) | Nov 22, 2023 |
| Linux | nodejs-nodemon rocky 8 | 0:3.0.1-1.module+el8.8.0+1459+02651ab6 | [RLSA-2023:7205](https://patchblox.com/security/data/fix/linux/rlsa-2023-7205.md) | Nov 28, 2023 |
| Linux | nodejs-packaging RHEL 8 | 0:2021.06-4.module+el8.9.0+19519+e25b965a | [RHSA-2023:7205](https://patchblox.com/security/data/fix/linux/rhsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-packaging almalinux 8 | 2021.06-4.module_el8.9.0+3684+11b9e959 | [ALSA-2023:7205](https://patchblox.com/security/data/fix/linux/alsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-packaging ol 8 | 0:2021.06-4.module+el8.9.0+90082+b6a613a6 | [ELSA-2023-7205](https://patchblox.com/security/data/fix/linux/elsa-2023-7205.md) | Nov 22, 2023 |
| Linux | nodejs-packaging rocky 8 | 0:2021.06-4.module+el8.7.0+1072+5b168780 | [RLSA-2023:7205](https://patchblox.com/security/data/fix/linux/rlsa-2023-7205.md) | Nov 28, 2023 |
| Linux | nodejs-packaging-bundler RHEL 8 | 0:2021.06-4.module+el8.9.0+19519+e25b965a | [RHSA-2023:7205](https://patchblox.com/security/data/fix/linux/rhsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-packaging-bundler almalinux 8 | 2021.06-4.module_el8.9.0+3684+11b9e959 | [ALSA-2023:7205](https://patchblox.com/security/data/fix/linux/alsa-2023-7205.md) | Nov 14, 2023 |
| Linux | nodejs-packaging-bundler ol 8 | 0:2021.06-4.module+el8.9.0+90082+b6a613a6 | [ELSA-2023-7205](https://patchblox.com/security/data/fix/linux/elsa-2023-7205.md) | Nov 22, 2023 |
| Linux | npm RHEL 8 | 1:10.1.0-1.20.8.1.1.module+el8.9.0+20473+c4e3d824 | [RHSA-2023:7205](https://patchblox.com/security/data/fix/linux/rhsa-2023-7205.md) | Nov 14, 2023 |
| Linux | npm almalinux 8 | 1:10.1.0-1.20.8.1.1.module_el8.9.0+3675+0258a6d9 | [ALSA-2023:7205](https://patchblox.com/security/data/fix/linux/alsa-2023-7205.md) | Nov 14, 2023 |
| Linux | npm ol 8 | 1:10.1.0-1.20.8.1.1.module+el8.9.0+90082+b6a613a6 | [ELSA-2023-7205](https://patchblox.com/security/data/fix/linux/elsa-2023-7205.md) | Nov 22, 2023 |

---

Data as of 2026-11-08T19:12:23Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
