HIGH 7.5

CVE-2026-59873: node-tar Gzip Bomb Denial of Service (HIGH)

node-tar, a widely-used Node.js library for working with tar archives, contains a resource exhaustion vulnerability that allows an attacker to craft a malicious gzip-compressed tar file that appears small but expands to consume enormous amounts of disk space and CPU when extracted. The library fails to enforce limits on how much data can be decompressed, how many files can be in an archive, or how much the data expands relative to its compressed size. By sending a carefully crafted "gzip bomb," an attacker can cause a system extracting the archive to run out of disk space or become unresponsive—a denial-of-service attack that requires no authentication and can be delivered over the network.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses (CWE)
CWE-770
Affected products
1 configuration(s)
Published / Modified
2026-07-08 / 2026-07-10

NVD description (verbatim)

node-tar is a tar archive manipulation library for Node.js. Prior to 7.5.19, node-tar does not enforce hard upper bounds on total decompressed data, entry counts, or decompression ratio in extraction and parsing paths such as src/extract.ts, allowing a small crafted gzip bomb to exhaust disk space and CPU. This issue is fixed in version 7.5.19.

4 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-59873 exploits missing resource constraints in node-tar's extraction and parsing logic, specifically in src/extract.ts. The vulnerability stems from the absence of enforced upper bounds on three critical parameters: total decompressed output size, the number of entries (files/directories) in the archive, and the compression ratio (ratio of decompressed to compressed size). An attacker can construct a gzip-compressed tar archive that is small on disk but decompresses to gigabytes or terabytes of data, or contains an extremely high number of directory entries. When node-tar processes such an archive without bounds-checking, the decompression operation exhausts available system resources. This is a classic zip bomb / gzip bomb scenario applied to tar archives. The vulnerability affects all versions prior to 7.5.19, which introduces proper resource limiting.

Business impact

Organizations running applications that extract untrusted tar archives—particularly those exposed to user uploads, API inputs, or network traffic—face denial-of-service risk. A compromised or malicious supply chain dependency, or direct exploitation via a crafted archive, can render affected services unavailable by exhausting disk space or CPU. For platforms providing file upload or archive extraction services, this creates both availability and potentially storage-cost impacts. The attack requires no privileges and no user interaction beyond processing a file, making it a straightforward vector for disruption.

Affected systems

Any application or service using isaacs/node-tar versions prior to 7.5.19 is affected. This includes direct users of the library as well as downstream dependencies. Given node-tar's popularity in the Node.js ecosystem, impact is potentially widespread across web applications, build tools, deployment pipelines, and microservices that handle tar archives. Verify your supply chain and dependency trees for all instances of node-tar, including transitive dependencies.

Exploitability

Exploitability is straightforward: an attacker needs only to craft a gzip bomb tar file and cause it to be extracted by vulnerable code. No authentication, user interaction, or complex setup is required. The attack vector is network-based, and the CVSS score of 7.5 (HIGH) reflects the ease of exploitation and availability impact. However, exploitation requires the application to actually process the malicious archive—applications that reject oversized or suspicious archives before processing may be partially protected. No active exploitation has been reported in the wild at this time (KEV status is false).

Remediation

Upgrade node-tar to version 7.5.19 or later. This release introduces enforced resource limits during extraction and parsing. Organizations should inventory all dependencies on node-tar—both direct and transitive—and plan upgrades across affected applications and services. Test upgraded versions in non-production environments to ensure compatibility before deploying to production. Additionally, consider implementing application-level safeguards such as file size limits, decompression ratio checks, or sandboxed extraction processes for untrusted archives.

Patch guidance

Update node-tar to 7.5.19 or any subsequent patch release. If you use npm or yarn, run `npm update node-tar` or `yarn upgrade node-tar` respectively, then commit the updated lock file. Verify in package.json or package-lock.json that node-tar is pinned to >= 7.5.19. For applications with pinned versions, manually update the version constraint. Test extraction of both trusted archives and intentionally crafted test cases to confirm the fix mitigates resource exhaustion. Refer to the official isaacs/node-tar repository and release notes for detailed version information and any known issues with specific upgrade paths.

Detection guidance

Monitor for extraction operations that consume unexpectedly high CPU or disk I/O for extended periods, or that cause rapid disk space depletion. Log and alert on archive extraction operations that involve small input files but large decompressed outputs or high entry counts. Implement rate limiting and resource quotas for extraction processes. Network-level detection is limited but may include monitoring for unusually large file uploads followed by service degradation. Behavioral indicators include sustained high CPU load during file processing, sudden disk space exhaustion, or service timeouts during archive extraction. Consider enabling verbose logging in node-tar extraction paths to track archive metadata (file count, sizes) before full decompression.

Why prioritize this

This vulnerability warrants prompt remediation due to its high CVSS score (7.5), ease of exploitation, and potential for widespread impact across the Node.js ecosystem. The attack requires no privilege escalation, authentication, or user interaction—only network access and a crafted file. While KEV status is false, the vulnerability is straightforward to exploit once identified. Organizations should prioritize patching after assessing the extent of node-tar usage in their environment and dependencies.

Risk score, explained

The CVSS 3.1 score of 7.5 (HIGH) reflects: Attack Vector = Network (AV:N, remotely exploitable), Attack Complexity = Low (AC:L, no special conditions needed), Privileges Required = None (PR:N, no authentication), User Interaction = None (UI:N, automatic upon processing), Scope = Unchanged (S:U), and Availability Impact = High (A:H, denial of service). The absence of confidentiality or integrity impact (C:N, I:N) keeps the score from reaching critical, but the guaranteed availability denial and trivial exploit path justify the HIGH severity.

Frequently asked questions

What is a gzip bomb and how does it apply to node-tar?

A gzip bomb is a small, highly compressed file that expands to massive size when decompressed. In the context of node-tar, an attacker crafts a tar archive (often gzip-compressed) where the compressed file is small (kilobytes) but decompresses to gigabytes or more. Without enforced limits, node-tar's extraction code will decompress the entire payload, exhausting disk space or CPU resources and causing a denial-of-service.

Do I need to worry about this if I only extract archives from trusted sources?

If your application exclusively processes archives from fully trusted, internal sources and never handles user uploads or third-party archives, your risk is significantly lower. However, best practice is still to upgrade, as supply chain compromises or misconfigurations can introduce untrusted data unexpectedly. Additionally, transitive dependencies may create exposure even if your direct usage seems safe.

Will upgrading to 7.5.19 break my existing code?

Version 7.5.19 is designed as a patch-level fix and should maintain backward compatibility. The resource limiting is added transparently to protect against malicious input. Test upgrades in development and staging environments to confirm compatibility with your specific usage patterns, but breaking changes are not anticipated.

Can application-level input validation prevent this attack?

Yes, partially. Rejecting archives larger than a specified threshold before processing, or implementing external decompression ratio checks, can mitigate the risk. However, relying solely on application-level controls is less robust than fixing the underlying library. Implement both: upgrade node-tar and add defense-in-depth input validation and resource limits at the application layer.

This analysis is provided for informational purposes and reflects information available as of the publication date. CVSS scores, affected versions, and patch guidance are based on vendor advisories and public disclosures. Organizations should verify patch availability and compatibility with their specific environments before deployment. No guarantee is made regarding exploit prevalence, active attack campaigns, or real-world impact beyond the stated vulnerability scope. Consult the isaacs/node-tar GitHub repository and official security advisories for the most current information. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).