CVE-2026-39246
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk38th percentile - higher than 38% of all known CVEs
Summary
The 'decompress' library before version 4.2.2 allows arbitrary symlink creation during archive extraction. An attacker can craft an archive with symlink entries pointing to sensitive files outside the extraction directory, leading to information disclosure.
Risk Assessment
The organization is at risk of leaking confidential data, such as configuration files or passwords, if an application using the 'decompress' library processes archives from untrusted sources.
Recommendation
Immediately update the 'decompress' library to version 4.2.2 or later, which includes a fix preventing symlink creation outside the allowed directory.
Other vulnerabilities in decompress
See all- CVE-2026-53486Critical
A vulnerability in the decompress package for Node.js allows creating files and links outside the target directory during archive extraction. The issue stems from missing validation of hardlink and symlink paths, prefix-based path containment checks, and failure to remove setuid, setgid, or sticky bits from file modes.
- CVE-2026-39245Medium
In the 'decompress' library before version 4.2.2, a path traversal and arbitrary file write vulnerability exists due to improper path containment check. The safeMakeDir function and extraction path validation use String.indexOf() to verify the resolved path is within the output directory, which can be bypassed by missing a path separator boundary. An attacker can write arbitrary files outside the intended directory, bypassing the fix for CVE-2020-12265.
- CVE-2026-39243Medium
The 'decompress' library before version 4.2.2 allows arbitrary hardlink creation during archive extraction. An attacker can craft an archive with a hardlink entry containing an absolute path to any file on the same filesystem, leading to file content disclosure or overwriting.
- CVE-2026-10732Medium
The decompress package in all versions is vulnerable to arbitrary file write via archive extraction (Zip Slip). The vulnerability is due to microtask processing order that bypasses existing protections against writing through symlinks. An attacker can provide a crafted ZIP archive, potentially leading to remote code execution.
Original NVD description (English source)
decompress before 4.2.2 allows arbitrary symlink creation during archive extraction. When processing symlink entries (type === 'symlink'), the x.linkname field from the archive is passed directly to fs.symlink() without validation (index.js line 121). The preventWritingThroughSymlink check on line 98 only applies to file entries, not symlink creation. An attacker can craft an archive with symlink entries pointing to sensitive files outside the extraction directory (e.g., /etc/passwd), enabling information disclosure when the application reads the extracted contents.

