GHSA-jwp9-9v96-94mx
decompress allows arbitrary hardlink creation during archive extraction
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | decompress | <= 4.2.1 | no fix listed |
Details
As written in the advisory (Markdown source, shown as plain text).
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.
References
External links from the advisory. They lead to third-party sites.