# CVE-2026-23950: node-tar has Race Condition in Path Reservations via Unicode Ligature Collisions on macOS APFS

> CVE-2026-23950: node-tar has Race Condition in Path Reservations via Unicode Ligature Collisions on macOS APFS. CVSS 8.8 (CVSS 3.1).

Canonical: https://rewindex.com/cve/CVE-2026-23950
Last updated: 2026-09-01T12:04:49Z

- Published: 2026-01-20 00:40 UTC · Updated: 2026-09-01 12:04 UTC · Assigner: GitHub\_M
- CVSS: 8.8 (CVSS 3.1) · Severity: High · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L
- EPSS: 0.26%, 18th percentile (scored 2026-10-25)
- CISA KEV: no
- CWE: CWE-176, CWE-352, CWE-367

## Description

node-tar,a Tar for Node.js, has a race condition vulnerability in versions up to and including 7.5.3. This is due to an incomplete handling of Unicode path collisions in the \`path-reservations\` system. On case-insensitive or normalization-insensitive filesystems (such as macOS APFS, In which it has been tested), the library fails to lock colliding paths (e.g., \`ß\` and \`ss\`), allowing them to be processed in parallel. This bypasses the library's internal concurrency safeguards and permits Symlink Poisoning attacks via race conditions. The library uses a \`PathReservations\` system to ensure that metadata checks and file operations for the same path are serialized. This prevents race conditions where one entry might clobber another concurrently. This is a Race Condition which enables Arbitrary File Overwrite. This vulnerability affects users and systems using node-tar on macOS (APFS/HFS+). Because of using \`NFD\` Unicode normalization (in which \`ß\` and \`ss\` are different), conflicting paths do not have their order properly preserved under filesystems that ignore Unicode normalization (e.g., APFS (in which \`ß\` causes an inode collision with \`ss\`)). This enables an attacker to circumvent internal parallelization locks (\`PathReservations\`) using conflicting filenames within a malicious tar archive. The patch in version 7.5.4 updates \`path-reservations.js\` to use a normalization form that matches the target filesystem's behavior (e.g., \`NFKD\`), followed by first \`toLocaleLowerCase('en')\` and then \`toLocaleUpperCase('en')\`. As a workaround, users who cannot upgrade promptly, and who are programmatically using \`node-tar\` to extract arbitrary tarball data should filter out all \`SymbolicLink\` entries (as npm does) to defend against arbitrary file writes via this file system entry name collision issue.

## Affected vendors and products

- isaacs: node-tar
- Red Hat: Confidential Compute Attestation
- Red Hat: Cryostat 4
- Red Hat: Logging Subsystem for Red Hat OpenShift
- Red Hat: Migration Toolkit for Containers
- Red Hat: Multicluster Engine for Kubernetes
- Red Hat: Network Observability Operator
- Red Hat: Node HealthCheck Operator
- Red Hat: OpenShift Lightspeed
- Red Hat: OpenShift Pipelines
- Red Hat: OpenShift Serverless
- Red Hat: Red Hat 3scale API Management Platform 2
- Red Hat: Red Hat Advanced Cluster Management for Kubernetes 2
- Red Hat: Red Hat AMQ Broker 7
- Red Hat: Red Hat Ansible Automation Platform 2
- Red Hat: Red Hat build of Apache Camel - HawtIO 4
- Red Hat: Red Hat Connectivity Link 1
- Red Hat: Red Hat Developer Hub
- Red Hat: Red Hat Enterprise Linux 10
- Red Hat: Red Hat Enterprise Linux 6
- Red Hat: Red Hat Enterprise Linux 7
- Red Hat: Red Hat Enterprise Linux 8
- Red Hat: Red Hat Enterprise Linux 9
- Red Hat: Red Hat Enterprise Linux AI (RHEL AI) 3
- Red Hat: Red Hat Fuse 7
- Red Hat: Red Hat JBoss Enterprise Application Platform 7
- Red Hat: Red Hat JBoss Enterprise Application Platform 8
- Red Hat: Red Hat JBoss Enterprise Application Platform Expansion Pack
- Red Hat: Red Hat OpenShift AI (RHOAI)
- Red Hat: Red Hat OpenShift Container Platform 4
- Red Hat: Red Hat Openshift Data Foundation 4
- Red Hat: Red Hat OpenShift GitOps
- Red Hat: Red Hat Process Automation 7
- Red Hat: Red Hat Quay 3
- Red Hat: Red Hat Satellite 6
- Red Hat: Red Hat Single Sign-On 7

## Tracked companies

- [Confluence](https://rewindex.com/company/confluence.md)
- [Jira](https://rewindex.com/company/jira.md)

## References

- [CVE record on cve.org](https://www.cve.org/CVERecord?id=CVE-2026-23950)
- [NVD entry](https://nvd.nist.gov/vuln/detail/CVE-2026-23950)
- [https://github.com/isaacs/node-tar/commit/3b1abfae650056edfabcbe0a0df5954d390521e6](https://github.com/isaacs/node-tar/commit/3b1abfae650056edfabcbe0a0df5954d390521e6)
- [https://github.com/isaacs/node-tar/security/advisories/GHSA-r6q2-hw4h-h46w](https://github.com/isaacs/node-tar/security/advisories/GHSA-r6q2-hw4h-h46w)

---

_Sources: CVE records from the CVE Program (cve.org). CVE® is a registered trademark of The MITRE Corporation. (https://www.cve.org/) This product uses data from the NVD API but is not endorsed or certified by the NVD. (https://nvd.nist.gov/) Known Exploited Vulnerabilities catalog from CISA. (https://www.cisa.gov/known-exploited-vulnerabilities-catalog) EPSS scores from FIRST (Exploit Prediction Scoring System). (https://www.first.org/epss/)_


---
Canonical: https://rewindex.com/cve/CVE-2026-23950 · Markdown: https://rewindex.com/cve/CVE-2026-23950.md · JSON: https://rewindex.com/api/v1/cves/CVE-2026-23950 · Data licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) · Generated 2026-10-26T02:05:30.273Z
