CVE-2026-23950 — node-tar has Race Condition in Path Reservations via Unicode Ligature Collisions on macOS APFS
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.
Who exploits it and how urgent it is
A 0–100 score combining confirmed exploitation, ransomware and APT use, public exploits, EPSS and severity.
How the score was calculated
- EPSS 0.3% (30-day exploitation probability)+2
- Technical severity (medium)+3
The score orders the patch queue; it does not replace your asset context (internet exposure, criticality, compensating controls).
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the sources call it.
CISA SSVC assessment CISA
Three decision points CISA publishes for the CVEs it assesses (SSVC 2.0.3). A stakeholder decision, not a severity score.
Remediation
Fixes and mitigations documented by the sources — linked to the original advisory.
- Documented patch — github.com (NIST National Vulnerability Database)
- Documented mitigation — github.com (NIST National Vulnerability Database)
First 24 hours
Ordered from the record’s own fields — exposure first, because you cannot patch what you have not found. A rule-generated starting point.
- Identify exposed assets running the affected vendor/product/version combinations (Isaacs Node-tar, Isaacs Tar).
- The attack is network-based and needs no privileges: restrict exposure (ACLs, VPN, WAF) until patched.
- Apply the fixed version or the patch documented under Remediation.
- Search available logs for exploit probes, errors and authentication anomalies.
Affected scope
Vendor, product and versions as the sources word them.
Attack characteristics
The CVSS vector, decoded. It describes the attack, not your exposure to it.
Every base score collected
Sources score independently and may disagree; each row says who scored it and under which version.
| Score | Version | Severity | Expl. | Impact | Scored by |
|---|---|---|---|---|---|
| 8.8 | CVSS 3.1 | High | 2.8 | 5.3 | security-advisories@github.com via NIST National Vulnerability Database |
| 8.8 | CVSS 3.1 | High | 2.8 | 5.3 | 0b0ca135-0b70-47e7-9f44-1890c2a1c46c via NIST National Vulnerability Database |
| 8.8 | CVSS 3.1 | High | — | — | GitHub_M via CVE Program (cve.org) e CISA ADP |
| 5.9 | CVSS 3.1 | Medium | 2.2 | 3.6 | nvd@nist.gov via NIST National Vulnerability Database |
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N (score shown at the top: nvd@nist.gov) Weakness MITRE
Weakness class according to MITRE’s CWE catalog.
EPSS over time FIRST
Oct 13, 2026 → Oct 14, 2026 · 2 reading(s) · max 0.26%
Detection
Read off the CVSS vector and the weakness class. Starting points, not tested rules.
- Prioritize edge telemetry for the network-reachable component (proxy, WAF, IDS/IPS).
Timeline
What happened to this CVE, newest first.
- 2026
- Affected products added · isaacs/node-tar
- SSVC assessment updated
- Record published
- Fix documented
- CVSS changed · 5.9
- Source status changed · → Modified
- Record created in this database
- CVE published
Source activity
Repeated readings are counted rather than listed.
- 1× Official description updated · Oct 13, 2026 – Oct 13, 2026
References
10 on the record
- github.com/isaacs/node-tar/security/advisories/GHSA-r6q2-hw4h-h46w
- github.com/isaacs/node-tar/commit/3b1abfae650056edfabcbe0a0df5954d390521e6
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-23950.json
- access.redhat.com/errata/RHSA-2026:2144
- access.redhat.com/errata/RHSA-2026:6192
- access.redhat.com/security/cve/CVE-2026-23950
- bugzilla.redhat.com/show_bug.cgi
- access.redhat.com/errata/RHSA-2026:18868
- access.redhat.com/errata/RHSA-2026:18480
- access.redhat.com/errata/RHSA-2026:2926
Elsewhere on this site
Related CVEs (same products)
- Medium CVE-2026-59875 node-tar: Uncaught Exception DoS via NUL byte in PAX path/linkpath records Jul 8, 2026
- High CVE-2026-59871 node-tar: Process crash via PAX numeric path type confusion Jul 8, 2026
- High CVE-2026-59873 node-tar: Decompression/parse DoS via unlimited input Jul 8, 2026
- High CVE-2026-59874 node-tar: Negative tar entry size causes infinite loop in archive replace Jul 8, 2026
- Medium CVE-2026-53655 node-tar applies PAX size override to intermediary GNU long-name/long-link headers, causing tar parser interpretation differential (file smuggling) Jun 22, 2026
- Medium CVE-2026-31802 node-tar Symlink Path Traversal via Drive-Relative Linkpath Mar 10, 2026
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.
Answered from this record
Text assembled only from the fields above — no additional claims.
What should defenders know first?
CVE-2026-23950 is "node-tar has Race Condition in Path Reservations via Unicode Ligature Collisions on macOS APFS", rated Medium. It affects Node-tar (Isaacs); versions are in the scope table. It is not in CISA KEV, which does not rule out exploitation. CVSS 5.9 describes technical severity. EPSS 0.26% estimates the probability of exploitation in 30 days; neither replaces your asset context. First verify whether exposed or business-critical assets run the affected versions, apply vendor fixes or mitigations, and preserve logs for review.
Comments
Moderated technical discussion. Read the community guidelines.
No comments yet.
Sign in or create an account to comment and suggest corrections.