criticalCVSS 9.1Vulnerability

CVE-2026-53486

### Impact When extracting an archive to a directory, a crafted archive can read or write files outside that directory. The flaw is in the code that writes the parsed entries, so it affects every format decompress handles: tar, tar.gz, tar.bz2, and zip by default, plus any others added through the plugins option. A link (hardlink) or symlink entry is created without checking where its target points. A hardlink can be aimed at any file the running process can read; that file then appears inside the output directory and its contents are exposed. A symlink can point outside the output directory and redirect a later write. The path containment check used a string prefix comparison (`realPath.indexOf(outputPath) !== 0`). Output `/srv/out` does not contain `/srv/out-old`, but the prefix comparison treats it as inside, so an entry can escape into a sibling directory whose name starts with the output directory name. File modes were applied as `mode & ~umask`, which does not remove the setuid, setgid, or sticky bits. A crafted entry can create a setuid or setgid file. This matters when extraction runs as root, for example in CI, containers, or install scripts. Any code that extracts archives from an untrusted or attacker-influenced source is affected. Archives are commonly downloaded before extraction, so this is reachable over the network in many setups. ### Patches Fixed in `@xhmikosr/decompress` 10.2.1 and 11.1.3. Link targets are now resolved and checked against the output directory, containment uses `path.relative`, and setuid, setgid, and sticky bits are removed. The upstream `decompress` package is unmaintained, and all versions through its last release (4.2.1) have the same flaws. There is no upstream fix. Migrate to `@xhmikosr/decompress` 11.1.3 or later. ### Workarounds Extract only archives you trust. Run extraction as a non-root user so the mode issue cannot create a privileged file. After extracting, reject any symlink or hardlink that points outside t

Properties

severity
critical
summary
Decompress: Archive extraction can create files and links outside of the target directory
epss_score
0.00643
cvss_score
9.1
ghsa_published
2026-07-06T20:27:38Z
source_url
https://github.com/advisories/GHSA-mp2f-45pm-3cg9
ghsa_updated
2026-07-06T20:27:39Z
ghsa_id
GHSA-mp2f-45pm-3cg9
cve_id
CVE-2026-53486
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
is_ghsa_only
false
epss_percentile
0.48097

Related Entities (9)

ENRICHED_BY (1)

[Source]FIRST EPSS

HAS_WEAKNESS (3)

[Weakness]Incorrect Permission Assignment for Critical Resource
[Weakness]Improper Link Resolution Before File Access ('Link Following')
[Weakness]Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (2)

[Software]npm/@xhmikosr/decompress
[Software]npm/decompress

AFFECTS (2)

[Software]npm/@xhmikosr/decompress
[Software]npm/decompress

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-53486 (CVSS 9.1) — Ninja Signal Threat Intelligence | Ninja Signal