node-tar has Race Condition in Path Reservations via Unicode Ligature Collisions on macOS APFS
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Tampering
- Confidentiality · integrity · availability
- Low · High · Low
- Fix status
- Partial Red Hat: 5 fixed, 18 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-352.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| isaacs | node-tar | before 7.5.4 | 7.5.4 | Patch available | CNA |
| — | tar (npm) | before 7.5.4 | 7.5.4 | Patch available | GHSA-r6q2-hw4h-h46w |
- node-tar Vendorisaacs Affected before 7.5.4 Fixed in 7.5.4 Patch available CNA
- tar (npm) Vendor— Affected before 7.5.4 Fixed in 7.5.4 Patch available GHSA-r6q2-hw4h-h46w
Remediation
- Fix · CNA node-tar (isaacs) Fixed in 7.5.4
- Fix · GHSA-r6q2-hw4h-h46w tar (npm) Fixed in 7.5.4 Advisory →
Red Hat 5 advisories
- RHSA-2026:18868 Released 2026-05-19 · Red Hat rating Importantlinux-sgx security update
- Red Hat Enterprise Linux AppStream (v. 9) linux-sgx-2.26-7.el9, sgx-common-2.26-7.el9, sgx-libs-2.26-7.el9 +5
- RHSA-2026:18480 Released 2026-05-19 · Red Hat rating Importantlinux-sgx security update
- Red Hat Enterprise Linux AppStream (v. 10) linux-sgx-2.26-7.el10, sgx-common-2.26-7.el10, sgx-libs-2.26-7.el10 +5
- RHSA-2026:6192 Released 2026-03-30 · Red Hat rating ImportantRed Hat OpenShift Dev Spaces 3.27.0 Release.
- Red Hat OpenShift Dev Spaces 3.27 registry.redhat.io/devspaces/code-rhel9, registry.redhat.io/devspaces/configbump-rhel9, registry.redhat.io/devspaces/dashboard-rhel9 +9
Show 2 more Red Hat advisories
- RHSA-2026:2926 Released 2026-02-18 · Red Hat rating ImportantRHTAS 1.2.2 - Red Hat Trusted Artifact Signer Release
- Red Hat Trusted Artifact Signer 1.2 registry.redhat.io/rhtas/certificate-transparency-rhel9, registry.redhat.io/rhtas/rekor-backfill-redis-rhel9, registry.redhat.io/rhtas/rekor-search-ui-rhel9 +6
- RHSA-2026:2144 Released 2026-02-05 · Red Hat rating ImportantRHTAS 1.3.2 - Red Hat Trusted Artifact Signer Release
- Red Hat Trusted Artifact Signer 1.3 registry.redhat.io/rhtas/certificate-transparency-rhel9, registry.redhat.io/rhtas/fulcio-rhel9, registry.redhat.io/rhtas/rekor-backfill-redis-rhel9 +7
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Confidential Compute Attestation | Affected | No fix yet |
| Logging Subsystem for Red Hat OpenShift | Affected | No fix planned: Will not fix |
| Migration Toolkit for Containers | Affected | No fix yet |
| Network Observability Operator | Affected | No fix yet |
| OpenShift Lightspeed | Affected | No fix planned: Will not fix |
| OpenShift Pipelines | Affected | No fix planned: Will not fix |
| OpenShift Serverless | Affected | No fix yet |
| Red Hat 3scale API Management Platform 2 | Affected | No fix planned: Will not fix |
| Red Hat Connectivity Link 1 | Affected | No fix yet |
| Red Hat Developer Hub 1 | Affected | No fix planned: Will not fix |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix planned: Will not fix |
| Red Hat Fuse 7 | Affected | No fix planned: Will not fix |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat OpenShift Container Platform 4 | Affected | No fix planned: Will not fix |
| Red Hat OpenShift GitOps | Affected | No fix planned: Will not fix |
| Red Hat Openshift Data Foundation 4 | Affected | No fix yet |
| Red Hat Satellite 6 | Affected | No fix yet |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2026:18480 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2026:18868 |
| Red Hat OpenShift Dev Spaces 3.27 | Fixed | RHSA-2026:6192 |
| Red Hat Trusted Artifact Signer 1.2 | Fixed | RHSA-2026:2926 |
| Red Hat Trusted Artifact Signer 1.3 | Fixed | RHSA-2026:2144 |
Not affected: 21 products
- Cryostat 4
- Multicluster Engine for Kubernetes
- Node HealthCheck Operator
- Red Hat AMQ Broker 7
- Red Hat Advanced Cluster Management for Kubernetes 2
- Red Hat Ansible Automation Platform 2
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat JBoss Enterprise Application Platform 7
- Red Hat JBoss Enterprise Application Platform 8
- Red Hat JBoss Enterprise Application Platform Expansion Pack
- Red Hat OpenShift Container Platform 4
- Red Hat OpenShift Dev Spaces 3.27
- Red Hat Process Automation 7
- Red Hat Quay 3
- Red Hat Single Sign-On 7
- Red Hat Trusted Artifact Signer 1.2
- Red Hat Trusted Artifact Signer 1.3
- Red Hat build of Apache Camel - HawtIO 4
Timeline
- 2026-10-02 Threatist record created from CVE-2026-23950
- 2026-10-03 Alias added: GHSA-r6q2-hw4h-h46w
- 2026-10-27 Affected versions changed · Red Hat
References
More isaacs Tar vulnerabilities
- TI-2026-42687 node-tar: Decompression/parse DoS via unlimited input CVSS 4.0CRITICAL 9.2
- TI-2026-42688 node-tar: Negative tar entry size causes infinite loop in archive replace CVSS 4.0HIGH 8.7
- TI-2026-42686 node-tar: Process crash via PAX numeric path type confusion CVSS 3.1HIGH 7.5
- TI-2026-24357 node-tar Symlink Path Traversal via Drive-Relative Linkpath CVSS 4.0HIGH 8.2
- TI-2026-23372 node-tar: Hardlink Path Traversal via Drive-Relative Linkpath CVSS 4.0HIGH 8.2
- TI-2026-20041 node-tar Vulnerable to Arbitrary File Creation/Overwrite via Hardlink Path Traversal CVSS 3.1HIGH 8.2
Sources
- CVE-2026-23950 · CVE Program
- CVE-2026-23950 · NVD
- FIRST EPSS
- GHSA-r6q2-hw4h-h46w · GitHub Advisory Database · CC BY 4.0
- CVE-2026-23950 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences