CVE-2026-39243
decompress allows arbitrary hardlink creation during archive extraction
decompress before 4.2.2 allows arbitrary hardlink creation during archive extraction, enabling file read disclosure and file corruption. When processing hardlink entries (type === 'link'), the x.linkname field from the archive is passed directly to fs.link() without validation (index.js line 113). An attacker can craft an archive with a hardlink entry whose linkname is an absolute path to any file on the same filesystem. This creates a hardlink inside the extraction directory that shares the same inode as the target file, enabling both reading and overwriting the original file's content. Hardlinks are limited to files on the same filesystem and cannot target directories.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.5
decompress before 4.2.2 allows arbitrary hardlink creation during archive extraction, enabling file read disclosure and file corruption. When processing hardlink entries (type === 'link'), the x.linkname field from the archive is passed directly to fs.link() without validation (index.js line 113). An attacker can craft an archive with a hardlink entry whose linkname is an absolute path to any file on the same filesystem. This creates a hardlink inside the extraction directory that shares the same inode as the target file, enabling both reading and overwriting the original file's content. Hardlinks are limited to files on the same filesystem and cannot target directories.
- Record
CVE-2026-39243- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-59
- Updated
- 2026-11-02
EUVDEUVD-2026-42768
5.5
decompress before 4.2.2 allows arbitrary hardlink creation during archive extraction, enabling file read disclosure and file corruption. When processing hardlink entries (type === 'link'), the x.linkname field from the archive is passed directly to fs.link() without validation (index.js line 113). An attacker can craft an archive with a hardlink entry whose linkname is an absolute path to any file on the same filesystem. This creates a hardlink inside the extraction directory that shares the same inode as the target file, enabling both reading and overwriting the original file's content. Hardlinks are limited to files on the same filesystem and cannot target directories.
- Record
EUVD-2026-42768- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-jwp9-9v96-94mx
5.5
decompress allows arbitrary hardlink creation during archive extraction
decompress before 4.2.2 allows arbitrary hardlink creation during archive extraction, enabling file read disclosure and file corruption. When processing hardlink entries (type === 'link'), the x.linkname field from the archive is passed directly to fs.link() without validation (index.js line 113). An attacker can craft an archive with a hardlink entry whose linkname is an absolute path to any file on the same filesystem. This creates a hardlink inside the extraction directory that shares the same inode as the target file, enabling both reading and overwriting the original file's content. Hardlinks are limited to files on the same filesystem and cannot target directories.
- Record
GHSA-jwp9-9v96-94mx- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-59
- Updated
- 2026-11-02
NVD
5.5
decompress before 4.2.2 allows arbitrary hardlink creation during archive extraction, enabling file read disclosure and file corruption. When processing hardlink entries (type === 'link'), the x.linkname field from the archive is passed directly to fs.link() without validation (index.js line 113). An attacker can craft an archive with a hardlink entry whose linkname is an absolute path to any file on the same filesystem. This creates a hardlink inside the extraction directory that shares the same inode as the target file, enabling both reading and overwriting the original file's content. Hardlinks are limited to files on the same filesystem and cannot target directories.
- Record
CVE-2026-39243- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-59
- Updated
- 2026-11-02
OSV
5.5
decompress before 4.2.2 allows arbitrary hardlink creation during archive extraction, enabling file read disclosure and file corruption. When processing hardlink entries (type === 'link'), the x.linkname field from the archive is passed directly to fs.link() without validation (index.js line 113). An attacker can craft an archive with a hardlink entry whose linkname is an absolute path to any file on the same filesystem. This creates a hardlink inside the extraction directory that shares the same inode as the target file, enabling both reading and overwriting the original file's content. Hardlinks are limited to files on the same filesystem and cannot target directories.
- Record
CVE-2026-39243- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-jwp9-9v96-94mx
5.5
decompress allows arbitrary hardlink creation during archive extraction
decompress before 4.2.2 allows arbitrary hardlink creation during archive extraction, enabling file read disclosure and file corruption. When processing hardlink entries (type === 'link'), the x.linkname field from the archive is passed directly to fs.link() without validation (index.js line 113). An attacker can craft an archive with a hardlink entry whose linkname is an absolute path to any file on the same filesystem. This creates a hardlink inside the extraction directory that shares the same inode as the target file, enabling both reading and overwriting the original file's content. Hardlinks are limited to files on the same filesystem and cannot target directories.
- Record
GHSA-jwp9-9v96-94mx- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N - Weakness
- CWE-59
- Updated
- 2026-11-02
OSVRHSA-2026:37577
7.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:37577- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVCLSA-2026-1791225543 No score
TuxCare security update for decompress (2 CVEs)
TuxCare rebuilt decompress to address 2 CVEs. Fixed in 4.2.1-tuxcare.1.
- Record
CLSA-2026-1791225543- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
decompressnpm |
through 4.2.1 | None known |
decompressTuxCare:npm From an advisory covering 2 CVEs |
4.2.1-tuxcare.0 up to 4.2.1-tuxcare.1, plus listed versions 4.2.1 |
4.2.1-tuxcare.1 |
dotnet-sdk-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.128-1.1.hum1 | 0:8.0.128-1.1.hum1 |
dotnet-sdk-8.0-source-built-artifactsRed Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.128-1.1.hum1 | 0:8.0.128-1.1.hum1 |
dotnet-sdk-dbg-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.128-1.1.hum1 | 0:8.0.128-1.1.hum1 |
dotnet-templates-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.128-1.1.hum1 | 0:8.0.128-1.1.hum1 |
dotnet8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.128-1.1.hum1 | 0:8.0.128-1.1.hum1 |
aspnetcore-runtime-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.28-1.1.hum1 | 0:8.0.28-1.1.hum1 |
aspnetcore-runtime-dbg-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.28-1.1.hum1 | 0:8.0.28-1.1.hum1 |
aspnetcore-targeting-pack-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.28-1.1.hum1 | 0:8.0.28-1.1.hum1 |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
dotnet-apphost-pack-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.28-1.1.hum1 | 0:8.0.28-1.1.hum1 |
dotnet-hostfxr-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.28-1.1.hum1 | 0:8.0.28-1.1.hum1 |
dotnet-runtime-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.28-1.1.hum1 | 0:8.0.28-1.1.hum1 |
dotnet-runtime-dbg-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.28-1.1.hum1 | 0:8.0.28-1.1.hum1 |
dotnet-targeting-pack-8.0Red Hat:hummingbird:1 From an advisory covering 4 CVEs |
before 0:8.0.28-1.1.hum1 | 0:8.0.28-1.1.hum1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-39243 is a medium vulnerability (CVSS 5.5) in Decompress Project Decompress, published July 9, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.30%, the 22nd percentile. No source names a fixed version.
References
github.com/kevva/decompress
npmjs.com/package/decompress
github.com/kevva/decompress/issues/113
nvd.nist.gov/vuln/detail/CVE-2026-39243
github.com/advisories/GHSA-jwp9-9v96-94mx
github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39243.json
Show 30 moreShow less
access.redhat.com/errata/RHSA-2026:37577
access.redhat.com/security/cve/CVE-2026-59725
access.redhat.com/security/cve/CVE-2026-59869
access.redhat.com/security/updates/classification
images.redhat.com
access.redhat.com/security/cve/CVE-2026-39243
access.redhat.com/security/cve/CVE-2026-39245
access.redhat.com/security/cve/CVE-2020-12265
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_37577.json
bugzilla.redhat.com/show_bug.cgi?id=2498833
cve.org/CVERecord?id=CVE-2026-39243
bugzilla.redhat.com/show_bug.cgi?id=2498814
cve.org/CVERecord?id=CVE-2026-39245
nvd.nist.gov/vuln/detail/CVE-2026-39245
github.com/kevva/decompress/issues/115
nvd.nist.gov/vuln/detail/CVE-2020-12265
bugzilla.redhat.com/show_bug.cgi?id=2498118
cve.org/CVERecord?id=CVE-2026-59725
nvd.nist.gov/vuln/detail/CVE-2026-59725
github.com/socketio/socket.io/commit/fc11285e14964c2132d122164bf130c355f60671
github.com/socketio/socket.io/releases/tag/[email protected]
github.com/socketio/socket.io/security/advisories/GHSA-r635-g3xr-vw7x
bugzilla.redhat.com/show_bug.cgi?id=2498122
cve.org/CVERecord?id=CVE-2026-59869
nvd.nist.gov/vuln/detail/CVE-2026-59869
github.com/nodeca/js-yaml/commit/24f13e79ee1343a7e30bd6f6c9d9cdbf0ac9b2b7
github.com/nodeca/js-yaml/commit/59423c6f8cdc78742ac00e25a4dd39ef16b702e4
github.com/nodeca/js-yaml/releases/tag/3.15.0
github.com/nodeca/js-yaml/releases/tag/4.3.0
github.com/nodeca/js-yaml/security/advisories/GHSA-52cp-r559-cp3m