CVE-2026-101894: @xhmikosr/decompress: Path traversal via symlink chain
The decompress package for Node.js extracts archives. Prior to 10.2.2 and 11.1.4, the default decompress(input, output) API relies on lexical containment checks that do not account for the kernel following a planted symlink chain. An attacker can supply a crafted archive containing chained symlink entries so that a later entry resolves outside the output directory. This allows files outside output to be read or written, and overwriting startup scripts or configuration can lead to remote code execution. The maintained @xhmikosr/decompress package is fixed in 10.2.2 and 11.1.4, but the separately affected unmaintained decompress package remains unpatched through 4.2.1. This vulnerability results from a bypass of the incomplete hardening for CVE-2026-53486. @xhmikosr/decompress is fixed in versions 10.2.2 and 11.1.4.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
@xhmikosr/decompressto a version that resolves this vulnerability.Fixed in 10.2.2 - Upgrade
Upgrade
@xhmikosr/decompressto a version that resolves this vulnerability.Fixed in 11.1.4
Event History
Frequently Asked Questions
Which package versions are fixed?
The maintained @xhmikosr/decompress package is fixed in versions 10.2.2 and 11.1.4. The separate unmaintained decompress package remains unpatched through version 4.2.1.
Are applications using the default extraction API affected?
Yes. The issue affects the default decompress(input, output) API because its lexical containment checks do not account for the filesystem resolving chained symlinks.
What must an attacker be able to do to exploit this?
An attacker must be able to provide a crafted archive to the application for extraction. The archive contains chained symlink entries that cause a later archive entry to resolve outside the intended output directory.
What is the practical impact of a successful exploit?
Files outside the extraction output directory may be read or written. Overwriting startup scripts or configuration files can lead to remote code execution.