All vulnerabilities
CVE-2026-101894GHSA-hrh2-vp3x-79xf

@xhmikosr/decompress: Path traversal via symlink chain

XhmikosR @xhmikosr/decompressnpmLibraries & packages
CVSS
9.1Critical
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.81%Chance of exploitation activity in the next 30 days, higher than 56% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in11.1.4Also 10.2.2GitHub
Published28 Sep 2026Updated 30 Sep 2026CVE List

What fixes it

  • 11.1.4@xhmikosr/decompress, npmGitHubnpm install @xhmikosr/decompress@11.1.4
  • 10.2.2@xhmikosr/decompress, npmGitHubnpm 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