Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft PAX tar archive with all-digit path header
-
DeliverySubmit archive to target Node.js application
-
Exploitnode-tar src/pax.ts coerces path string to JavaScript number
-
ExecutionnormalizeWindowsPath() calls .split('/') on a Number
-
PersistUncaught TypeError thrown
-
ImpactExtraction process crashes (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Correct type conversion
|
| Exploitation Conditions | The target application must use node-tar in a version prior to 7.5.18 and must process a tar archive containing a PAX extended header where the path or linkpath field is composed entirely of digits. The CVSS vector (AV:N/AC:L/PR:N/UI:N) indicates no authentication is required, but this assumes the application exposes an archive extraction code path to unauthenticated network input - for example, a public file upload endpoint, a package registry endpoint, or a build system that fetches remote archives. Exploitation is limited by the requirement that attacker-controlled content reaches the PAX header parsing code in src/pax.ts; applications that only extract trusted, internally generated archives are not exploitable. The crash impact is further limited by the application's error handling: processes with uncaught exception handlers may degrade gracefully rather than terminate entirely. |
| Impact | The CVSS 3.1 base score of 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L) reflects a low-complexity, unauthenticated, network-reachable denial of service with limited availability impact. The A:L rating is appropriate because the crash is scoped to the tar extraction operation and process rather than the entire system. No EPSS data was provided, so exploitation probability cannot be quantified beyond inference from the CVSS metrics. The vulnerability is not listed in the CISA KEV catalog and no public proof-of-concept code has been identified. The source tags include 'Information Disclosure,' which directly conflicts with the CVSS C:N metric - this discrepancy is unresolved and should be verified against the vendor advisory GHSA-w8wr-v893-vjvp; at time of analysis, available evidence supports availability impact only. Real-world priority depends heavily on deployment context: applications that accept and extract tar archives from untrusted external sources (file upload endpoints, CI/CD pipelines processing remote artifacts, package management tooling) face meaningful denial-of-service exposure, while applications that only process internally generated archives have negligible risk. |
| Exploit ScenarioDerived | An attacker crafts a tar archive in PAX format where the extended header sets the path field to an all-digit value such as '12345'. When this archive is submitted to a web application or CI pipeline that uses node-tar prior to 7.5.18 to extract uploaded archives, the library coerces the path to the JavaScript number 12345, causing normalizeWindowsPath() to invoke .split('/') on a Number object, throwing an uncaught TypeError that crashes the extraction process and potentially the surrounding Node.js worker. No public proof-of-concept has been identified, but the attack primitive is trivially constructable by any attacker with knowledge of the PAX tar format. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 08, 2026
Denial of service in node-tar prior to 7.5.18 allows unauthenticated network-reachable attackers to crash Node.js processes by submitting crafted tar archives containing all-digit PAX header path or linkpath values. The library incorrectly coerces these string values to JavaScript numbers in src/pax.ts, causing downstream path handling (normalizeWindowsPath(entry.path).split('/')) to throw an uncaught TypeError when it attempts to call a string method on a numeric value. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in the CISA KEV catalog.
RemediationAI
Upgrade node-tar to version 7.5.18 or later; this is the vendor-released patch that addresses the type coercion defect in src/pax.ts. The fix commit is available at https://github.com/isaacs/node-tar/commit/e02a4e9e013c4be95302e2eb2047a942b883c27b and the release is at https://github.com/isaacs/node-tar/releases/tag/v7.5.18. For applications that cannot immediately upgrade, a compensating control is to validate or sanitize tar archive inputs before passing them to node-tar - specifically, reject or strip PAX headers with all-digit path or linkpath values at the application boundary before extraction. Additionally, wrapping extraction calls in try/catch blocks and implementing process-level crash recovery (e.g., via a process manager such as pm2 or cluster) will limit the denial-of-service radius, though this does not eliminate the underlying defect. Restricting file upload endpoints to non-tar MIME types is a more aggressive but effective workaround where tar support is not required.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
node-tar (cpe:2.3:a:isaacs:node-tar:*:*:*:*:*:*:*:*) is the reference tar archive manipulation library for Node.js, widely consumed as a transitive dependency of npm tooling and countless npm packages. The defect is rooted in CWE-704 (Incorrect Type Conversion or Cast): in src/pax.ts, PAX extended header values that consist entirely of digits are coerced from strings to JavaScript numbers rather than being preserved as strings. PAX headers are a POSIX.1-2001 extension to the tar format that carry arbitrary key-value metadata, including override values for path and linkpath. When a downstream function such as normalizeWindowsPath() receives an entry.path that is a Number rather than a String, the subsequent .split('/') call throws a TypeError because Number objects do not have a split() method. This uncaught exception propagates and terminates the extraction operation, potentially crashing the hosting process depending on error-handling posture.
Know when Node.js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable extraction endpoint requires no auth; impact is partial DoS (process crash) only, with no confidentiality or integrity effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
4DescriptionNVD
node-tar is a tar archive manipulation library for Node.js. Prior to 7.5.18, node-tar coerces all-digit PAX path and linkpath values in src/pax.ts to JavaScript numbers, causing downstream path handling such as normalizeWindowsPath(entry.path).split('/') to throw an uncaught TypeError. This issue is fixed in version 7.5.18.
Blast Radius
ecosystem impact- 10 npm packages depend on tar (6 direct, 4 indirect)
Ecosystem-wide dependent count for version 7.5.18.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-42308
GHSA-w8wr-v893-vjvp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB