Vulnerability · Published Oct 26, 2026 · Assigned by GitHub_M

CVE-2026-115908zip: Arbitrary file write outside the extraction directory, because ZipArchive::extract validates symlink targets lexically. (The defense against CVE-2025-29787 was broken in v7.2.0)

High 7.4

In plain English

A high-severity path traversal in zip2 from zip-rs. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 38% of all known vulnerabilities).

Severity (CVSS 3.1)7.4High
Exploit odds (30 days)0.4%top 62.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Ubuntu:26.04:LTSrust-zipno fix listedUBUNTU-CVE-2026-115908
Ubuntu:26.10rust-zipno fix listedUBUNTU-CVE-2026-115908

Affected products (as reported)

VendorProductVersions
zip-rs zip2 >= 7.2.0, < 9.0.0

Weakness: CWE-22, CWE-59, CWE-61 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H

References