GitHub Advisoryadvisory · npm
GHSA-cc8f-xg8v-72m3 Compressing Vulnerable to Arbitrary File Write via Symlink Extraction
HIGH
Official page ↗
- Aliases
- CVE-2026-24884
- Ecosystem
- npm
- Packages
- compressing
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-59
- Reviewed
- 2026-02-03
Affected packages
• npm compressing: >= 2.0.0, < 2.0.1 → fixed in 2.0.1
• npm compressing: < 1.10.4 → fixed in 1.10.4
Description
Arbitrary File Write via Symlink Extraction in `github.com/node-modules/compressing`
Brief Introduction
The `compressing` npm package extracts TAR archives while restoring symbolic links without validating their targets.
By embedding symlinks that resolve outside the intended extraction directory, an attacker can cause subsequent file entries to be written to arbitrary locations on the host file system.
Depending on the extractor’s handling of existing files, this behavior may allow overwriting sensitive files or creating new files in security-critical locations.
Affected Component and Versions
• Component: `github.com/node-modules/compressing`
• Affected Versions: `
After extraction, the output directory contains a symlink pointing to `/tmp`. The file `poc.txt` is then written through the symlink to `/tmp/poc.txt`, demonstrating an arbitrary file write outside the extraction directory.
Summary
`compressing` restores symlinks from TAR archives without validating their targets. By combining a malicious symlink with a subsequent file entry, an attacker can redirect extracted files to arbitrary locations on the host.
Related
Alias · CVE (1)
- CVE-2026-24884 Compressing is a compressing and uncompressing lib for node. vulnerability
Weakness · CWE (1)
- CWE-59 Improper Link Resolution Before File Access weakness
References
- https://github.com/node-modules/compressing/security/advisories/GHSA-cc8f-xg8v-72m3 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-24884 advisory
- https://github.com/node-modules/compressing/commit/8d16c196c7f1888fc1af957d9ff36117247cea6c web
- https://github.com/node-modules/compressing/commit/ce1c0131c401c071c77d5a1425bf8c88cfc16361 web
- https://github.com/node-modules/compressing package