CVE-2026-39246
decompress Arbitrary Symlink Creation
Description
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.
INFO
Published Date :
July 9, 2026, 10:17 p.m.
Last Modified :
July 13, 2026, 12:44 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | HIGH | 134c704f-9b21-4f2e-91b3-4a467353bcc0 |
Solution
- Update to software version 4.2.2 or newer.
- Apply vendor patches or security advisories immediately.
- Validate archive contents before extraction.
- Sanitize symlink target paths.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-39246.
| URL | Resource |
|---|---|
| https://github.com/kevva/decompress | Product |
| https://github.com/kevva/decompress/issues/114 | Exploit Vendor Advisory |
| https://www.npmjs.com/package/decompress | Product |
| https://github.com/kevva/decompress/issues/114 | Exploit Vendor Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-39246 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-39246
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-39246 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-39246 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Jul. 13, 2026
Action Type Old Value New Value Added CPE Configuration OR *cpe:2.3:a:decompress_project:decompress:*:*:*:*:*:node.js:*:* versions up to (including) 4.2.1 Added Reference Type MITRE: https://github.com/kevva/decompress Types: Product Added Reference Type MITRE: https://github.com/kevva/decompress/issues/114 Types: Exploit, Vendor Advisory Added Reference Type MITRE: https://www.npmjs.com/package/decompress Types: Product Added Reference Type CISA-ADP: https://github.com/kevva/decompress/issues/114 Types: Exploit, Vendor Advisory -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jul. 10, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N Added CWE CWE-59 Added Reference https://github.com/kevva/decompress/issues/114 Added SSVC {'id': 'CVE-2026-39246', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'yes'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-07-10T17:09:33.857465Z'} -
New CVE Received by [email protected]
Jul. 09, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'n/a', 'product': 'n/a', 'versions': [{'status': 'affected', 'version': 'n/a'}]}] Added Description 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. Added Reference https://github.com/kevva/decompress Added Reference https://github.com/kevva/decompress/issues/114 Added Reference https://www.npmjs.com/package/decompress