HIGH 8.1

CVE-2026-56876: extract-zip Symlink Path Traversal Vulnerability – HIGH Risk

extract-zip, a popular Node.js package for unzipping files, fails to validate symlink targets during extraction. An attacker can craft a malicious zip archive containing symlinks with path traversal sequences (e.g., '../../../../etc/passwd') that point outside the intended extraction directory. When the library extracts these symlinks without validation, it creates links to arbitrary filesystem locations. Depending on the application's usage pattern and file permissions, this could enable an attacker to read sensitive files or overwrite critical data.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.1 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Weaknesses (CWE)
CWE-22, CWE-61
Affected products
1 configuration(s)
Published / Modified
2026-06-26 / 2026-07-06

NVD description (verbatim)

extract-zip does not validate symlink targets when extracting zip archives. When processing a malicious zip file containing a symlink with a relative path like '../../../../etc/passwd', extract-zip will extract the symlink without validation, allowing it to point outside the extraction directory. Depending on how extract-zip is used, an attacker could read or write to arbitrary files.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability resides in extract-zip's symlink handling during zip file processing. The library extracts symlink entries without canonicalizing or validating their target paths, failing to enforce that symlink destinations remain within the extraction root. An attacker-controlled zip file can include symlink entries with relative path traversal sequences that, once extracted, point to locations outside the extraction directory. The CVSS 3.1 score of 8.1 (HIGH) reflects high confidentiality and integrity impact under network attack conditions with user interaction. The weakness map to CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) and CWE-61 (UNIX Symbolic Link Following), both classic path traversal and symlink-following vulnerabilities.

Business impact

Applications using extract-zip to process untrusted or user-supplied zip archives face two primary risks: unauthorized file disclosure (reading /etc/passwd, private keys, or application secrets) and potential file corruption or code injection (overwriting configuration files, binaries, or scripts). The user interaction requirement (UI:R in the CVSS vector) means the attack requires a user to initiate extraction—typically via file upload, download, or processing of an archive. Organizations handling sensitive file uploads, document processing pipelines, or collaborative file-sharing features are most exposed. Exploitation could lead to credential theft, privilege escalation, or lateral movement if sensitive files are exposed.

Affected systems

The max-mapper extract-zip package on npm is the confirmed affected software. Any application dependency that uses extract-zip to unzip user-supplied or untrusted archives is at risk. This includes web applications with file upload features, batch processing systems, backup utilities, and containerized workloads. The vulnerability affects all versions prior to vendor remediation; verify the advisory for patched versions. Organizations should enumerate their Node.js projects for extract-zip imports and transitive dependencies through their package lock files.

Exploitability

Exploitation requires an attacker to craft a zip archive with malicious symlink entries and convince or trick a user into extracting it via an application using extract-zip. The CVSS metric AC:L (Low Attack Complexity) indicates the attack requires no special conditions beyond the zip file itself. However, the UI:R (User Interaction Required) requirement means the attacker cannot trigger extraction remotely—a user or automated process must initiate the unzip operation. The attack is reproducible and does not require authentication. Given that zip files are commonly exchanged and processed, the practical exploitability is moderate to high in environments handling untrusted archives.

Remediation

Upgrade extract-zip to a patched version that validates symlink targets and prevents path traversal. Verify against the max-mapper extract-zip GitHub repository or npm advisory for the specific version number and release date. As an interim control, applications should validate extracted file paths, rejecting or isolating any symlinks that resolve outside the intended extraction directory. Consider restricting extract-zip usage to trusted archives only and running extraction in sandboxed or low-privilege contexts. For high-risk workflows, implement additional filesystem monitoring and access controls.

Patch guidance

Consult the max-mapper extract-zip project on GitHub and the npm package repository for the official patched version. Apply the patch by updating the extract-zip dependency in your package.json and running npm install or yarn install. Test the patched version against your application's file upload and extraction workflows to ensure no breaking changes. If you maintain an internal registry or mirror, update it promptly. For organizations using automatic dependency updates, enable updates for this package immediately. Verify the patch in a non-production environment first, especially if extract-zip is critical to core workflows.

Detection guidance

Monitor application logs for zip extraction operations involving symlinks or for filesystem access patterns attempting to write symlinks outside their designated extraction directory. Endpoint detection and response (EDR) solutions can flag symlink creation attempts to absolute paths or paths traversing parent directories (../ sequences). Check for suspicious zip files uploaded or staged with multiple '../' patterns in compressed member names. During incident response, examine extracted symlink targets with 'readlink' or 'ls -l' to identify whether symlinks point outside extraction roots. Include symlink detection in post-extraction validation checks: after unzipping, verify all extracted items are regular files or directories within the extraction path.

Why prioritize this

This vulnerability merits high-priority patching for any organization using extract-zip on untrusted data. The CVSS 8.1 score, combined with high exploitability in file-upload environments, makes it a near-term risk. While the CVE is not yet in the CISA KEV catalog, the underlying weakness (path traversal via symlinks) is well-established and likely to be actively exploited once public PoCs circulate. Organizations processing user-supplied archives should patch within days, not weeks. Lower urgency is appropriate only if extract-zip usage is strictly limited to internal, verified archives or if extraction happens in fully isolated sandboxes.

Risk score, explained

The CVSS 3.1 score of 8.1 (HIGH) reflects the combination of: (1) Network-accessible attack surface (AV:N) if the vulnerable application is accessible remotely, (2) Low attack complexity (AC:L) because no special conditions or advanced techniques are needed, (3) No privilege requirements (PR:N) to craft or supply a malicious archive, (4) User interaction required (UI:R) to initiate extraction, and (5) High confidentiality and integrity impact (C:H, I:H) with the ability to read or modify arbitrary files within the permissions of the extraction process. The scope is unchanged (S:U) because only the confidentiality and integrity of the system running extract-zip are affected. No availability impact (A:N) reflects that the symlink traversal does not directly cause denial of service, though file overwrite could indirectly harm availability.

Frequently asked questions

Can extract-zip be exploited remotely without user interaction?

No. Although the attack surface is network-accessible (users can upload or download malicious zips), the vulnerability requires a user or automated process to explicitly extract the zip file. An attacker cannot trigger extraction by simply hosting a malicious zip online; they must entice a user to download and extract it, or target an automated workflow that processes untrusted archives. This requirement is reflected in the CVSS UI:R metric.

What does the symlink path traversal actually achieve?

A symlink with a path like '../../../../etc/passwd' creates a link from within the extraction directory that points to /etc/passwd outside that directory. If the application later reads files from the extraction directory or follows symlinks, it can access or modify files far outside the intended sandbox. The impact depends on the application's post-extraction behavior and filesystem permissions; in the worst case, an attacker could read secrets or overwrite binaries.

Are other zip extraction libraries affected?

This specific CVE affects only the max-mapper extract-zip package. However, symlink validation vulnerabilities are common across zip libraries. Developers should audit whether their extraction tool of choice (e.g., unzip, libarchive, Python's zipfile) properly validates symlink targets. Many popular libraries have been patched for similar issues, so check your vendor's security advisories and keep dependencies updated.

How do I quickly check if my project uses extract-zip?

Run 'npm ls extract-zip' in your project root to see if it's a direct dependency. For transitive dependencies, run 'npm ls | grep extract-zip' or check your package-lock.json file for the string 'extract-zip'. If found, upgrade immediately. If not directly used, audit your node_modules folder and dependency tree to ensure no sub-dependency pulls it in unexpectedly.

This analysis is provided for informational purposes and should not be considered a substitute for vendor advisories or your organization's security team assessment. Patch versions, release dates, and specific remediation steps must be verified against the official max-mapper extract-zip GitHub repository and npm package advisory before deployment. CVSS scores are provided as supplied and should be evaluated in the context of your specific environment and risk tolerance. No exploit code is included in this analysis. Organizations should conduct thorough testing in non-production environments before applying patches to critical systems. Source: NVD (public-domain), retrieved 2026-08-05. Analysis generated by SEC.co (claude-haiku-4-5).