Bug 2566260 - CVE-2026-115905 ruff: zip: Critical Parser Differential & Security Control Bypass via Dual-Header Inconsistencies (Zip Cloaking) Leading to Arbitrary File Overwrite & RCE [epel-all]
Summary: CVE-2026-115905 ruff: zip: Critical Parser Differential & Security Control By...
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: ruff
Version: epel10
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
Assignee: Ben Beasley
QA Contact:
URL:
Whiteboard: {"flaws": ["a882e4b9-4d3a-421b-86d5-9...
Depends On: 2548378
Blocks: CVE-2026-115905
TreeView+ depends on / blocked
 
Reported: 2026-11-03 20:19 UTC by aedmond
Modified: 2026-11-04 10:32 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description aedmond 2026-11-03 20:19:05 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

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.

Comment 1 Ben Beasley 2026-11-04 10:32:03 UTC
This is a legitimate problem. It can be fixed by updating rust-zip to 9.0.5 or later (which, in turn, will require a nontrivial rust-zstd update), and updating ruff to 0.17.4 or later (not yet released, but coming soon) so that it uses v9 of the zip crate. See https://forge.fedoraproject.org/rust/backlog/issues/47 for details and general coordination.


Note You need to log in before you can comment on or make changes to this bug.