Read the docs

Arbitrary file write outside extraction directory in Rust zip crate

Priority LOW 33CWE-22Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
—
Confidentiality · integrity · availability
None · High · High
Fix status
Partial Red Hat: 13 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

The zip Rust crate (zip2 and zip on crates.io) from 7.2.0 before 9.0.0 checks symbolic link targets in ZipArchive::extract only by lexical prefix. An attacker who knows or can guess the extraction destination can chain links that resolve outside it, writing or overwriting files with the extracting process's privileges (CWE-59). On Windows, a single link can escape when the process holds SeCreateSymbolicLinkPrivilege.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Description from the CNA

zip is a zip library for Rust that supports reading and writing simple ZIP files. From 7.2.0 until 9.0.0, ZipArchive::extract and ZipArchive::extract_unwrapped_root_dir use safe_prepare_path in src/read/zipfile.rs and simplified_components in src/path.rs to validate symbolic link targets with a lexical prefix comparison rather than resolving each intermediate link. An attacker who knows or can guess the absolute extraction destination can create a chain whose apparent target remains under the destination while an intermediate symlink resolves outside it, allowing attacker-controlled files to be created or overwritten with the extracting process's privileges. On Windows, discarded drive and UNC prefixes can permit a single-link escape when the process has SeCreateSymbolicLinkPrivilege, such as through administrator rights or Developer Mode. This regression is distinct from CVE-2025-29787. This issue is fixed in version 9.0.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00432 37th percentileScored 2026-11-07
Fix Partial zip2 (zip-rs): 9.0.0zip (crates.io): 9.0.0Red Hat: 13 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
zip-rszip27.2.0 to before 9.0.09.0.0Patch availableCNA
—zip (crates.io)7.2.0 to before 9.0.09.0.0Patch availableGHSA-hjqx-j4rw-g7xv
  • zip2 Vendorzip-rs Affected 7.2.0 to before 9.0.0 Fixed in 9.0.0 Patch available CNA
  • zip (crates.io) Vendor— Affected 7.2.0 to before 9.0.0 Fixed in 9.0.0 Patch available GHSA-hjqx-j4rw-g7xv

Remediation

Upgrade the zip crate (zip2 and zip on crates.io) to 9.0.0, which fixes this. Red Hat lists no fix available for Ansible Automation Orchestrator 2026, Confidential Cluster Operator, Confidential Compute Attestation, Red Hat Ansible Automation Platform 2 and other products, and no fix planned for OpenShift Lightspeed.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

  • Fix · CNA zip2 (zip-rs) Fixed in 9.0.0
  • Fix · GHSA-hjqx-j4rw-g7xv zip (crates.io) Fixed in 9.0.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Ansible Automation Orchestrator 2026AffectedNo fix yet
Confidential Cluster OperatorAffectedNo fix yet
Confidential Compute AttestationAffectedNo fix yet
OpenShift LightspeedAffectedNo fix planned: Will not fix
Red Hat Ansible Automation Platform 2AffectedNo fix yet
Red Hat Discovery 2AffectedNo fix yet
Red Hat Enterprise Linux 10AffectedNo fix yet
Red Hat Enterprise Linux 9AffectedNo fix yet
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet
Red Hat Lightspeed Services for OCPAffectedNo fix yet
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet
Red Hat Satellite 6AffectedNo fix yet
Red Hat Trusted Profile AnalyzerAffectedNo fix yet
Not affected: 9 products
  • Pen Drive Powered by Red Hat Lightspeed
  • Red Hat Ansible Automation Platform 2
  • Red Hat Ansible Automation Platform Ansible Core 2
  • Red Hat Enterprise Linux 10
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9
  • Red Hat Enterprise Linux command line assistant
  • Red Hat Hardened Images
  • Red Hat Quay 3

Timeline

  1. 2026-10-26 Threatist record created from CVE-2026-115908
  2. 2026-10-26 CISA SSVC decision points changed
  3. 2026-10-26 Priority changed: MEDIUM → LOW
  4. 2026-10-29 Alias added: GHSA-hjqx-j4rw-g7xv
  5. 2026-10-29 Fix available: crates.io/[email protected] · GHSA-hjqx-j4rw-g7xv
  6. 2026-10-29 CVSS score added · GHSA-hjqx-j4rw-g7xv
  7. 2026-10-29 Weakness changed · GHSA-hjqx-j4rw-g7xv
  8. 2026-10-29 5 new references · GHSA-hjqx-j4rw-g7xv
  9. 2026-11-06 Affected versions changed · Red Hat
  10. 2026-11-06 CVSS score added · Red Hat
  11. 2026-11-07 Affected versions changed · Red Hat

References

  • TI-2026-80483 Parser differential in Rust zip library allows file overwrite CVSS 4.0CRITICAL 10.0
  • TI-2026-80489 Denial of service in zip crate from attacker-controlled ZIP64 size CVSS 3.1HIGH 7.5
  • TI-2025-21198 zip Vulnerable to Incorrect Path Canonicalization During Archive Extraction, Leading to Arbitrary File Write CVSS 4.0HIGH 7.3
  • TI-2026-80488 Authentication bypass in zip Rust crate lets modified AES entries pass CVSS 3.1MEDIUM 6.5
  • TI-2026-80491 Excessive allocation in zip Rust crate aborts extraction of symlinks CVSS 3.1HIGH 7.5

Sources