Skip to main content

decompress CVE-2026-10732

| EUVDEUVD-2026-34785 MEDIUM
Path Traversal: '\\..\\filename' (CWE-29)
2026-06-05 snyk GHSA-h39j-r5qq-r9mm
5.6
CVSS 4.0 · Vendor: snyk
Share

Severity by source

Vendor (snyk) PRIMARY
5.6 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (snyk).

CVSS VectorVendor: snyk

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Jun 05, 2026 - 07:22 vuln.today
Analysis Generated
Jun 05, 2026 - 07:22 vuln.today
CVSS changed
Jun 05, 2026 - 07:22 NVD
6.4 (MEDIUM) 5.6 (MEDIUM)

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 27,024 npm packages depend on decompress (1,212 direct, 25,901 indirect)

Ecosystem-wide dependent count for version 4.2.1.

DescriptionCVE.org

All versions of the package decompress are vulnerable to Arbitrary File Write via Archive Extraction (Zip Slip) when extracting a ZIP archive containing two entries with the same path - the first being a symlink to an arbitrary target and the second being a regular file - the file content is written through the symlink to the target location outside the output directory. This is due to the microtask processing order that checks readlink for the second file before resolving symlink for the first file. An attacker can write arbitrary file on the host filesystem potentially leading to remote code execution by providing a specially crafted ZIP archive. Note: This bypasses all existing path traversal protections including preventWritingThroughSymlink, added as a part of the fix for CVE-2020-12265.

AnalysisAI

Arbitrary file write in the npm decompress package (all versions) exploits a second-generation Zip Slip bypass that circumvents protections introduced in the CVE-2020-12265 fix. By crafting a ZIP archive where a symlink entry and a same-named regular file share an identical path, an attacker leverages microtask scheduling order to write file contents through the unresolved symlink to arbitrary locations outside the extraction output directory, creating a realistic path to remote code execution. Publicly available exploit code exists per the E:P temporal modifier and a published PoC Gist, elevating real-world concern especially for applications processing untrusted archives in automated pipelines.

Technical ContextAI

The decompress npm package (CPE: cpe:2.3:a:n/a:decompress:*:*:*:*:*:*:*:*) provides archive extraction for Node.js. CWE-29 (Path Traversal using '../../filename') describes the root cause class: the extractor fails to confine extracted content to the intended output directory. The specific mechanism is a microtask ordering flaw in the async extraction pipeline - when a ZIP contains a symlink entry and a same-path regular file, the readlink check for the second entry executes before the symlink from the first entry is resolved, bypassing the preventWritingThroughSymlink guard added to address CVE-2020-12265. A secondary code-level flaw exposed in GitHub PR #112 is an indexOf prefix confusion bug: the original guard checked realParentPath.indexOf(realOutputPath) !== 0, which incorrectly passes for sibling paths such as 'dist-evil' when the output path is 'dist' (indexOf returns 0 on any shared string prefix). The fix in PR #112 replaces this with a startsWith(outputPath + path.sep) comparison, which correctly rejects paths that merely share a string prefix with the output directory.

RemediationAI

Monitor GitHub PR #112 (https://github.com/kevva/decompress/pull/112) and the decompress npm registry page for a patched tagged release; upgrade to that version immediately upon publication. The fix replaces flawed indexOf-based containment checks with stricter startsWith(outputPath + path.sep) comparisons, closing both the prefix confusion and the symlink ordering bypass. Do not rely on the preventWritingThroughSymlink configuration option from the CVE-2020-12265 fix - this CVE explicitly circumvents it. Until a patched release is available, consider migrating to a maintained alternative such as adm-zip or unzipper that has independently verified Zip Slip defenses. As a compensating control, validate all archive entry paths before extraction, reject archives containing symlink entries, or run the extraction process inside a container or chroot environment with write access restricted to the intended output directory only - note that process isolation adds deployment complexity and does not fix the underlying library flaw. Restricting the Node.js process to least-privilege filesystem permissions limits the blast radius if exploitation occurs.

More in N A

View all
CVE-2024-51092 CRITICAL POC
9.1 May 08

LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr

CVE-2025-15684 MEDIUM POC
5.5 Aug 12

Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han

CVE-2024-45257 HIGH POC
7.3 May 08

A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi

CVE-2025-15687 LOW POC
2.1 Aug 12

Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc

CVE-2025-15686 LOW POC
2.1 Aug 12

Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula

CVE-2025-67888 HIGH POC
7.3 May 08

Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root

CVE-2024-53326 HIGH POC
7.3 May 08

LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(

CVE-2026-38360 CRITICAL POC
9.8 May 08

Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti

CVE-2026-30623 CRITICAL POC
9.8 Jul 15

Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr

CVE-2026-67917 CRITICAL POC
9.8 Aug 17

SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg

CVE-2026-75337 CRITICAL POC
9.8 Aug 27

Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ

CVE-2026-31072 CRITICAL POC
9.8 May 19

Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali

Vendor StatusVendor

Share

CVE-2026-10732 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy