CVE-2026-24842
High · 8.2CVSS
8.2
EPSS
0.6%
Published
Jan 28, 2026
CISA due date
—
Cloudanix analysis
A malicious archive could trick affected software into exposing files from outside the folder where the archive is supposed to be unpacked.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Library
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
node-tar versions prior to 7.5.7 incorrectly validate hardlink entries in TAR archives using path resolution semantics that differ from the logic used when creating the hardlink. A malicious archive can pass the library's path traversal checks while causing extraction to create a hardlink that points outside the intended extraction directory. The main impact is unauthorized access to, or linking against, arbitrary files reachable by the extracting process. Because exploitation requires an application or user to extract an attacker-controlled archive, the vulnerability is not typically self-propagating, but it can cross security boundaries when archive extraction is performed in build systems, package ingestion services, CI/CD jobs, developer tooling, upload processors, or automated unpacking workflows.
Why it matters to the business
If a vulnerable application extracts untrusted TAR files, an attacker may be able to make the extraction process reference sensitive files outside the expected workspace. This can expose secrets, source code, configuration files, SSH keys, tokens, or other local files to later processing, packaging, upload, or logging steps. In automated build or artifact-processing environments, the flaw can undermine isolation assumptions and may lead to credential leakage, supply-chain compromise, or unauthorized modification of artifacts. The CVSS score is high, but EPSS is currently low and the issue is not listed in CISA KEV, so prioritization should focus first on internet-facing or automated systems that process untrusted archives.
How an attack unfolds
An attacker prepares a TAR archive containing hardlink entries with crafted path and link target values. The archive is designed so that node-tar's pre-extraction security validation evaluates the hardlink as safe, while the later hardlink creation logic resolves the same paths differently. When a vulnerable application extracts the archive, node-tar creates a hardlink that points outside the designated extraction directory. The attacker then relies on application behavior after extraction: for example, the application may read, package, publish, scan, transform, or return extracted files, inadvertently exposing the contents or metadata of files outside the intended directory. Exploitation requires that the target process extract an attacker-supplied TAR archive and that the process account has filesystem access to the targeted external file.
How to fix it
Upgrade node-tar to version 7.5.7 or later. For source-based consumers of isaacs/node-tar, ensure the fix commit 4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb or an equivalent release containing that change is present. Regenerate lockfiles after updating direct or transitive dependencies, and verify that all deployed artifacts use the fixed dependency version. Where immediate upgrade is not possible, avoid extracting untrusted TAR archives; reject archives containing hardlink entries; extract archives inside a temporary, isolated, least-privileged directory or container; prevent extraction processes from accessing sensitive host paths; and ensure post-extraction workflows do not follow or package hardlinks that escape the extraction root.
How to confirm the fix worked
Confirm the deployed dependency tree resolves node-tar to 7.5.7 or later, or to a build that includes commit 4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb. Use package manager inspection such as npm ls tar, yarn why tar, pnpm why tar, software composition analysis, SBOM review, or lockfile inspection to identify direct and transitive instances. Test representative archive-processing paths with benign TAR files containing hardlink entries and confirm that hardlinks resolving outside the extraction root are rejected or safely handled. Validate runtime controls by confirming extraction occurs in a restricted location with least-privileged filesystem access and that post-extraction processing does not include files outside the intended directory.
Typical attack path
- Identify an application, service, build job, package ingestion flow, or developer tool that uses node-tar before version 7.5.7 to extract TAR archives.
- Craft a malicious TAR archive containing hardlink entries whose validation path and creation path resolve differently.
- Deliver the archive through an upload feature, dependency/package submission, artifact import, source bundle, CI/CD input, or other archive-processing workflow.
- Trigger extraction by the vulnerable process.
- Cause node-tar to create a hardlink pointing outside the intended extraction directory.
- Abuse downstream processing of the extracted directory to read, copy, publish, log, or otherwise expose the linked external file.
How to detect it
Look for evidence that vulnerable systems extracted attacker-controlled TAR archives containing hardlink entries that target paths outside the intended extraction directory. Useful data sources include application upload logs, artifact ingestion logs, CI/CD job logs, package build logs, temporary extraction directories, file integrity monitoring, endpoint telemetry, EDR file creation events, and auditd or OS-level filesystem events for link creation. Investigate archives processed by vulnerable versions before upgrade, especially those received from untrusted users or external package sources. Forensic review should inspect TAR metadata for hardlink entries with absolute link targets, parent-directory traversal, unusual normalization behavior, or link targets referencing sensitive paths. On Linux, audit records for link or linkat syscalls by Node.js processes during archive extraction can help identify suspicious behavior. Also review downstream outputs, published artifacts, logs, or generated packages for unexpected inclusion of sensitive file contents or hardlinks referencing files outside extraction workspaces. There are no widely established public exploitation indicators or named threat actors associated with this issue in the provided data.
- TAR hardlink entry with typeflag 1
- linkname=../
- linkname=/
- ../ in TAR hardlink target
- absolute path in TAR hardlink target
- node process creating hardlinks during TAR extraction
- linkat syscall by node during archive extraction
- hardlink target outside extraction directory
What your security team should do
- Inventory applications, build systems, package-processing services, and developer tooling that extract TAR archives using node-tar.
- Prioritize upgrades for services that accept user-supplied archives, process third-party packages, or run in CI/CD and artifact-publishing pipelines.
- Upgrade node-tar to 7.5.7 or later and refresh lockfiles and deployed artifacts to remove vulnerable transitive copies.
- Add archive-validation controls that reject hardlinks, absolute paths, parent-directory traversal, and entries that resolve outside the extraction root.
- Run extraction workloads with least privilege in isolated temporary directories, containers, or sandboxes with no access to secrets or sensitive host paths.
- Review recent archive-processing activity for suspicious hardlink entries and unexpected files appearing in extracted workspaces.
- Add regression tests for malicious TAR hardlink and path traversal cases to prevent reintroduction of unsafe extraction behavior.
The record
node-tar,a Tar for Node.js, contains a vulnerability in versions prior to 7.5.7 where the security check for hardlink entries uses different path resolution semantics than the actual hardlink creation logic. This mismatch allows an attacker to craft a malicious TAR archive that bypasses path traversal protections and creates hardlinks to arbitrary files outside the extraction directory. Version 7.5.7 contains a fix for the issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | tar | 0 | 7.5.7 |
| Chainguard | actions-runner | 0 | 2.331.0-r1 |
| Chainguard | code-server | 0 | 4.106.3-r4 |
| Chainguard | graalvm-25-ce-nodejs | 0 | 25.0.2-r1 |
| Chainguard | kibana-8.17 | 0 | 8.17.10-r9 |
| Chainguard | kibana-8.17-iamguarded | 0 | 8.17.10-r9 |
| Chainguard | kibana-8.18 | 0 | 8.18.8-r9 |
| Chainguard | kibana-8.18-iamguarded | 0 | 8.18.8-r9 |
| Chainguard | kibana-8.19 | 0 | 8.19.11-r0 |
| Chainguard | kibana-8.19-iamguarded | 0 | 8.19.11-r0 |
| Chainguard | kibana-9.0 | 0 | 9.0.8-r9 |
| Chainguard | kibana-9.0-bitnami | 0 | 9.0.8-r9 |
| Chainguard | kibana-9.0-iamguarded | 0 | 9.0.8-r9 |
| Chainguard | kibana-9.1 | 0 | 9.1.10-r4 |
| Chainguard | kibana-9.1-iamguarded | 0 | 9.1.10-r4 |
| Chainguard | kibana-9.2 | 0 | 9.2.5-r0 |
| Chainguard | kibana-9.2-iamguarded | 0 | 9.2.5-r0 |
| Chainguard | kubeflow-centraldashboard | 0 | 1.10.0-r10 |
| Chainguard | kubeflow-pipelines-frontend | 0 | 2.15.0-r12 |
| Chainguard | lerna | 0 | 9.0.4-r1 |
| Chainguard | node-gyp | 0 | 12.2.0-r1 |
| Chainguard | npm | 0 | 11.9.0-r0 |
| Chainguard | opensearch-dashboards-2 | 0 | 2.19.4-r15 |
| Chainguard | opensearch-dashboards-2-fips | 0 | 2.19.5-r0 |
| Chainguard | opensearch-dashboards-3 | 0 | 3.5.0-r0 |
| Chainguard | opensearch-dashboards-3-fips | 0 | 3.5.0-r0 |
| Chainguard | prism | 0 | 5.14.3-r5 |
| Chainguard | pulumi-language-nodejs | 0 | 3.217.1-r2 |
| Chainguard | redisinsight | 0 | 3.0.2-r2 |
| Chainguard | renovate | 0 | 43.3.1-r0 |
| Chainguard | sqlpad | 0 | 7.5.7-r9 |
| Chainguard | tileserver-gl | 0 | 5.5.0-r2 |
| Chainguard | tileserver-gl-fips | 0 | 5.5.0-r3 |
| Chainguard | vitess-22 | 0 | 22.0.3-r0 |
| Chainguard | vitess-23 | 0 | 23.0.1-r0 |
| Wolfi | code-server | 0 | 4.106.3-r4 |
| Wolfi | kubeflow-centraldashboard | 0 | 1.10.0-r10 |
| Wolfi | kubeflow-pipelines-frontend | 0 | 2.15.0-r12 |
| Wolfi | lerna | 0 | 9.0.4-r1 |
| Wolfi | node-gyp | 0 | 12.2.0-r1 |
| Wolfi | npm | 0 | 11.9.0-r0 |
| Wolfi | opensearch-dashboards-2 | 0 | 2.19.4-r15 |
| Wolfi | opensearch-dashboards-3 | 0 | 3.5.0-r0 |
| Wolfi | prism | 0 | 5.14.3-r5 |
| Wolfi | pulumi-language-nodejs | 0 | 3.217.1-r2 |
| Wolfi | renovate | 0 | 43.3.1-r0 |
| Wolfi | sqlpad | 0 | 7.5.7-r9 |
| Wolfi | tileserver-gl | 0 | 5.5.0-r2 |
| Wolfi | vitess-22 | 0 | 22.0.3-r0 |
| Wolfi | vitess-23 | 0 | 23.0.1-r0 |
| openSUSE:Tumbleweed | pnpm | 0 | 10.32.1-1.1 |
Related vulnerabilities
- GHSA-34x7-hfp2-rc4v node-tar Vulnerable to Arbitrary File Creation/Overwrite via Hardlink Path Traversal Same vulnerability
- CVE-2026-53655 node-tar is a full-featured Tar for Node.js. Also affects tar
- GHSA-vmf3-w455-68vh node-tar applies PAX size override to intermediary GNU long-name/long-link headers… Also affects tar
- GHSA-9ppj-qmqm-q256 node-tar Symlink Path Traversal via Drive-Relative Linkpath Also affects tar
- CVE-2026-31802 node-tar is a full-featured Tar for Node.js. Also affects tar
- CVE-2026-29786 node-tar is a full-featured Tar for Node.js. Also affects tar
- GHSA-qffp-2rhf-9h96 tar has Hardlink Path Traversal via Drive-Relative Linkpath Also affects tar
- CVE-2026-26960 node-tar is a full-featured Tar for Node.js. Also affects tar