CVE-2026-59875: node-tar denial of service via NUL byte in PAX records

CVE-2026-59875 · Severity: medium · CVSS 5.3 · Published 2026-07-08

A vulnerability in the node-tar library, which is widely used to extract compressed archive files, allows an attacker to crash the application by providing a specially crafted tarball. This occurs because the library fails to handle certain hidden characters (NUL bytes) in file paths, leading to an unrecoverable error that bypasses standard error-handling code. This can result in a denial-of-service, causing automated build pipelines, backup services, or web applications to stop functioning.

Technologies: tar (npm). Vendors: npm.

Quick answers

Is CVE-2026-59875 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-59875 being exploited in the wild.
How severe is CVE-2026-59875?
Medium severity, with a CVSS score of 5.3, published 8 July 2026.
Which products and versions are affected?
tar (npm) SEMVER:introduced=0,fixed=7.5.17.
Is there a fix for CVE-2026-59875?
Yes. tar (npm): upgrade to 7.5.17 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-59875 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-59875?
Check whether you run tar (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • tar (npm): upgrade to 7.5.17 or later
    npm install tar@7.5.17

Technical details

The node-tar library fails to sanitize NUL bytes in PAX ('x' typeflag) extended headers for 'path' and 'linkpath' records in `src/pax.ts`. When these unsanitized strings are passed to Node.js core file system functions like `fs.lstat()` or `fs.open()`, Node.js throws an `ERR_INVALID_ARG_VALUE` exception. Because this throw occurs within an internal async callback chain, it surfaces as an `uncaughtException` that terminates the process, bypassing user-level `try/catch` or `await` error handling. Additionally, this creates a parser differential (CWE-436) where other tools like GNU tar truncate at the NUL byte while node-tar retains the full string, potentially bypassing security validators. The issue is fixed in version 7.5.17.

Affected products

  • isaacs (node-tar) tar <= 7.5.16

Identifiers

  • CVE-2026-59875
  • GHSA-gvwx-54wh-qm9j

Timeline

  • 2026-06-23: disclosed: Vulnerability verified against version 7.5.16
  • 2026-06-25: advisory: GitHub Advisory published
  • 2026-07-20: advisory: CVE published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.