Description
zip is a zip library for Rust that supports reading and writing simple ZIP files. Through 9.0.4, ZipArchive treats Central Directory File Header filenames as authoritative while ZipStreamReader extracts using Local File Header filenames without reconciling the duplicate metadata in src/read/stream.rs. A crafted archive can therefore appear benign to a component that inspects the central directory but cause a streaming extractor to write a different attacker-selected path and content, potentially overwriting files used by a downstream service. This issue is fixed in version 9.0.5.
Published: 2026-10-26
Score: 10 Critical
EPSS: n/a
KEV: No
Impact: Remote code execution via arbitrary file overwrite
Action: Immediate Patch
AI Analysis

Impact

This flaw in the Rust zip library allows a crafted archive to present a benign appearance in the central directory while the local file header contains a different, attacker‑selected file path. During extraction the library writes the file to the path derived from the local header, potentially overwriting critical files used by a downstream service. The resulting file overwrite can lead to arbitrary code execution, reflected in the CVSS score of 10 and the attribution to CWE‑20 (improper input validation) and CWE‑436 (inadequate reference checks).

Affected Systems

The vulnerability affects the zip-rs:zip2 product in all releases up to version 9.0.4. Users running zip2 in any Rust application should upgrade to version 9.0.5 or later to eliminate the mismatch between the central directory and local file header metadata.

Risk and Exploitability

The flaw offers a straightforward file overwrite attack vector for any process that extracts archives with zip2. Attackers who can supply a malicious archive—either locally or via a network‑exposed service—can overwrite protected files and potentially achieve control of the application. With a CVSS score of 10 and no available EPSS data, the risk is considered critical, and the vulnerability is not yet listed in CISA's KEV catalog. The primary mitigation is to install the fixed release.

Generated by OpenCVE AI on October 26, 2026 at 17:23 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the zip-rs:zip2 library to version 9.0.5 or later.
  • Restrict the extraction of archives to trusted sources only, and reject archives that contain path traversal or non‑rooted paths.
  • Validate extracted file paths against a whitelist of allowed directories before writing them to disk.

Generated by OpenCVE AI on October 26, 2026 at 17:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 26 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Description zip is a zip library for Rust that supports reading and writing simple ZIP files. Through 9.0.4, ZipArchive treats Central Directory File Header filenames as authoritative while ZipStreamReader extracts using Local File Header filenames without reconciling the duplicate metadata in src/read/stream.rs. A crafted archive can therefore appear benign to a component that inspects the central directory but cause a streaming extractor to write a different attacker-selected path and content, potentially overwriting files used by a downstream service. This issue is fixed in version 9.0.5.
Title zip: Critical Parser Differential & Security Control Bypass via Dual-Header Inconsistencies (Zip Cloaking) Leading to Arbitrary File Overwrite & RCE
Weaknesses CWE-20
CWE-436
References
Metrics cvssV4_0

{'score': 10, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:L'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-26T16:24:44.760Z

Reserved: 2026-10-23T20:21:45.106Z

Link: CVE-2026-115905

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-26T17:17:17.823

Modified: 2026-10-26T17:17:17.823

Link: CVE-2026-115905

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-26T17:30:16Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-436

    Interpretation Conflict