Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-accessible service processes an attacker-supplied file with no authentication; sole impact is process termination, so C:N/I:N/A:H with no scope change.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Lifecycle Timeline
4Blast Radius
ecosystem impact- 90 npm packages depend on tar (31 direct, 59 indirect)
Ecosystem-wide dependent count for version 7.5.21.
DescriptionCVE.org
node-tar is a tar archive manipulation library for Node.js. Prior to 7.5.21, node-tar's filesFilter in src/list.ts uses the recursive mapHas helper to walk an archive entry path upward with path.dirname() and no segment cap when tar.t(...) or tar.x(...) receives a non-empty member-selection list. A crafted GNU L or PAX x long-path header with thousands of slash-separated segments reaches this.filter(entry.path, entry) in Parser[CONSUMEHEADER] in src/parse.ts before Unpack[CHECKPATH] applies maxDepth, causing an uncatchable RangeError stack overflow that terminates asynchronous and streaming Node.js consumers. This issue is fixed in version 7.5.21.
Articles & Coverage 1
AnalysisAI
Stack-exhaustion denial-of-service in node-tar (npm package tar) versions up to and including 7.5.20 allows unauthenticated remote attackers to terminate any Node.js process that lists or extracts selected members from an attacker-controlled archive. The vulnerable mapHas recursion in filesFilter overflows the call stack before any depth guard can execute, and the resulting RangeError is uncatchable by standard try/catch on async and streaming consumers - the dominant server-side usage pattern. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires that the targeted service calls `tar.t()` or `tar.x()` with a non-empty member-selection array as the second argument (e.g., `tar.t({ file: 'archive.tar.gz', gzip: true }, ['some-member'])`); without this argument, `filesFilter` is never installed and `mapHas` is never called, making the code path unreachable. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 7.5 rating (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) is well-calibrated for this vulnerability: the network attack vector and absence of authentication or user-interaction requirements accurately reflect that any internet-exposed service accepting attacker-supplied tar archives with member selection is directly reachable. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | An attacker submits a crafted tar archive (~188 bytes gzipped, ~26 KB uncompressed) containing a single entry whose GNU Long Link header encodes a path of approximately 12,000 slash-separated segments to a service that calls `tar.t()` or `tar.x()` with a member-selection list. The `mapHas` function recurses once per path segment until the call stack is exhausted, producing an uncatchable `RangeError` that propagates as an `uncaughtException` and terminates the Node.js worker process. … |
| Remediation | Upgrade node-tar to version 7.5.21 or later via `npm install tar@7.5.21` or `npm update tar`; this is the vendor-released patch that introduces the MAX=100 recursion cap in `mapHas`. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, inventory all Node.js applications and services using tar npm package versions 7.5.20 and earlier, prioritizing those processing untrusted or user-supplied archive inputs. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
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
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
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
Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-58181