@xhmikosr/decompress: Path traversal via symlink chain
What fixes it
- 11.1.4@xhmikosr/decompress, npmGitHub
npm install @xhmikosr/decompress@11.1.4 - 10.2.2@xhmikosr/decompress, npmGitHub
npm install @xhmikosr/decompress@10.2.2
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
When extracting an untrusted archive with the default decompress(input, output) API, a crafted archive containing a chain of symlink entries can make a later entry resolve outside the output directory. The lexical containment checks pass, but the kernel follows the planted symlinks to a path outside output, letting an attacker write (and read) files outside the intended extraction directory. Overwriting startup scripts or configuration can lead to remote code execution.
This is a bypass of the hardening in GHSA-mp2f-45pm-3cg9. Any application that extracts attacker-controlled archives is affected.
Patches
Fixed in 11.1.4 (latest) and backported to 10.2.2 (release-v10 dist-tag). Upgrade to one of these.
The unmaintained upstream decompress package shares this flaw and will not be patched. Migrate to @xhmikosr/decompress@11.1.4 (or @10.2.2).
Workarounds
None. Do not extract untrusted archives on affected versions. If you cannot upgrade, validate entries out of band and reject any whose resolved path escapes the target directory.
Text from GitHub Advisory Database
Affected versions 9
- @xhmikosr/decompress, npm>= 11.0.0, <= 11.1.3GitHub
- @xhmikosr/decompress, npm<= 10.2.1GitHub
- decompress, npm<= 4.2.1GitHub
- decompressaffected: < 10.2.2CVE List
- decompressaffected: >= 11.0.0, < 11.1.4CVE List
- decompressaffected: <= 4.2.1CVE List
- @xhmikosr/decompress, npmfrom 11.0.0, fixed in 11.1.4OSV
- @xhmikosr/decompress, npmfrom first release, fixed in 10.2.2OSV
- decompress, npmfrom first release, through 4.2.1OSV
References 7
- github.com/XhmikosR/decompress/commit/5f4b2f64abb31bbaf1fef8975b595fd7df2558d8Fixvia CVE List
- github.com/XhmikosR/decompress/commit/f6c88c668216d6a12c6cecf4fe0b6c70bf77050aFixvia CVE List
- github.com/XhmikosR/decompress/releases/tag/v10.2.2Fixvia CVE List
- github.com/XhmikosR/decompress/releases/tag/v11.1.4Fixvia CVE List
- github.com/XhmikosR/decompress/security/advisories/GHSA-hrh2-vp3x-79xfAdvisoryvia CVE List
- github.com/advisories/GHSA-hrh2-vp3x-79xfAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-101894Referencevia GitHub