Cyber Resilience

CVE-2026-23950

CSRF in Isaacs Tar ≤ 7.5.4

Published
20 January 2026
Modified
15 July 2026
Patch / advisory
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L
EPSS Score 0.0022 13th percentile
Risk Priority 60 floored blend · peak EPSS

Summary

CVE-2026-23950 is a high-severity Improper Handling of Unicode Encoding (CWE-176) vulnerability in Isaacs Tar. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Invisible Unicode (T1027.018); ranked at the 13th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-25 (Reference Monitor) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-23950 is a race condition vulnerability in node-tar, a Tar implementation for Node.js, affecting versions up to and including 7.5.3. The issue stems from incomplete handling of Unicode path collisions in the library's PathReservations system, which is designed to serialize metadata checks and file operations for the same path to prevent races. On case-insensitive or normalization-insensitive filesystems such as macOS APFS or HFS+, the library fails to properly lock colliding paths—like the Unicode characters ß and ss, which collide due to NFD normalization differences—allowing parallel processing that bypasses concurrency safeguards. This enables symlink poisoning attacks and results in arbitrary file overwrites.

A remote attacker can exploit this vulnerability by crafting a malicious tar archive containing conflicting filenames that exploit filesystem normalization behaviors. The attacker requires a user to extract the archive (user interaction), after which the race condition permits symlink poisoning, leading to arbitrary file overwrites outside the extraction directory. The CVSS v3.1 base score of 8.8 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L) reflects network accessibility, low attack complexity, no privileges needed, changed scope, low confidentiality impact, high integrity impact, and low availability impact.

The patch in node-tar version 7.5.4 addresses the issue by updating path-reservations.js to use NFKD normalization form matching the target filesystem, followed by toLocaleLowerCase('en') and then toLocaleUpperCase('en') for consistent path handling. As a workaround, users programmatically extracting arbitrary tarballs should filter out all SymbolicLink entries, as implemented by npm, to prevent arbitrary file writes via this filename collision issue. Details are available in the GitHub security advisory (GHSA-r6q2-hw4h-h46w) and the fixing commit (3b1abfae650056edfabcbe0a0df5954d390521e6).

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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,…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1027.018 Invisible Unicode Stealth
Adversaries may abuse invisible or non-printing Unicode characters to conceal malicious content within files, scripts, or text.
T1034 Path Interception Persistence
**This technique has been deprecated.
T1027 Obfuscated Files or Information Stealth
Adversaries may attempt to make an executable or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the system or in transit.
T1132 Data Encoding Command And Control
Adversaries may encode data to make the content of command and control traffic more difficult to detect.
T1132.002 Non-Standard Encoding Command And Control
Adversaries may encode data with a non-standard data encoding system to make the content of command and control traffic more difficult to detect.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-8067Shared CWE-176
CVE-2025-55129Shared CWE-176
CVE-2026-20202Shared CWE-176
CVE-2024-43093Shared CWE-176
CVE-2026-35346Shared CWE-176
CVE-2026-44288Shared CWE-176
CVE-2026-4116Shared CWE-176
CVE-2025-59547Shared CWE-176
CVE-2025-71316Shared CWE-176
CVE-2026-25480Shared CWE-176

Affected Assets

isaacs
tar
≤ 7.5.4

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V3.3.2
  • V3.5.1
  • V10.2.1
  • V15.4.2

Mitigating Controls (NIST 800-53 r5) AI

A reference monitor that is always invoked and analyzable structurally eliminates the non-atomic check-then-use pattern underlying TOCTOU.

Input validation directly requires checking and normalizing encodings so that Unicode is handled consistently before further processing.

Access enforcement requires verifying that state-changing requests originate from the authenticated user rather than a forged cross-site source.

Protecting session authenticity prevents attackers from replaying or forging authenticated requests via the victim's browser.

Process isolation limits the blast radius of a successful TOCTOU exploitation but does not remove the race itself.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly require proper Unicode/input validation to prevent this weakness.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect Unicode-handling flaws before deployment.

mitigates

By denying access to phishing or malicious sites, the control lowers the likelihood that a user will be tricked into submitting a forged request that performs an unintended action on another site.

prevents

Secure development lifecycle mandates input validation and encoding handling that can prevent Unicode mishandling.

prevents

Application security requirements include proper handling of character encodings and input sanitization.

prevents

Secure architecture principles require robust input processing to avoid encoding-related vulnerabilities.

prevents

Secure coding standards directly address proper Unicode and character-encoding validation.

References