# CVE-2026-115905: zip library path traversal via Central Directory mismatch

Source: https://junglewise.ai/threats/cve-2026-115905-zip-is-a-zip-library-for-rust-that-supports-reading-and-writing  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-26. Updated: 2026-10-26  
License: CC BY 4.0 with a link back

CVE-2026-115905 · Severity: critical · CVSS 4 · Published 2026-10-26

The zip library for Rust contains a vulnerability where streaming extraction can write files to unintended locations. An attacker can craft a malicious ZIP archive that appears safe when inspected through the central directory, but when extracted via the streaming reader, files are written to attacker-controlled paths, potentially overwriting critical files on a system.

Technologies: [zip (crates.io)](https://junglewise.ai/threats/technologies/zip), [Zip-Rs Zip](https://junglewise.ai/threats/technologies/zip-rs-zip). Vendors: [crates.io](https://junglewise.ai/threats/vendors/crates-io), [Zip-Rs](https://junglewise.ai/threats/vendors/zip-rs).

## Quick answers

**Is CVE-2026-115905 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-115905 being exploited in the wild.

**How severe is CVE-2026-115905?** Critical severity, with a CVSS score of 4, published 26 October 2026.

**Which products and versions are affected?** zip (crates.io) <= 9.0.4, SEMVER:introduced=0,fixed=9.0.5; Zip-Rs Zip through 9.0.4.

**Is there a fix for CVE-2026-115905?** Yes. zip (crates.io): upgrade to 9.0.5 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-115905 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-115905?** Check whether you run zip (crates.io) or Zip-Rs Zip at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- zip (crates.io): upgrade to 9.0.5 or later

  ```sh
  cargo update -p zip
  ```


## Technical details

The vulnerability exists because ZipArchive validates Central Directory File Header filenames while ZipStreamReader extracts using Local File Header filenames without reconciling these duplicate metadata fields in src/read/stream.rs. An attacker can craft a ZIP archive where the central directory lists benign filenames but the local file headers specify different paths, causing the streaming extractor to write to unintended locations and potentially overwrite downstream files.

## Affected products

- zip-rs zip through 9.0.4

## Identifiers

- CVE-2026-115905
- GHSA-m665-v7pm-7grj

## Timeline

- 2026-10-26: disclosed
- 2026-10-17: patched

## References

- [https://github.com/zip-rs/zip2/commit/8068ab480ccf8daa7411424e365fcdbe6d09443e](https://github.com/zip-rs/zip2/commit/8068ab480ccf8daa7411424e365fcdbe6d09443e)
- [https://github.com/zip-rs/zip2/releases/tag/v9.0.5](https://github.com/zip-rs/zip2/releases/tag/v9.0.5)

## Related threats

- [zip Rust library denial of service in symlink extraction](https://junglewise.ai/threats/cve-2026-115909-zip-is-a-zip-library-for-rust-that-supports-reading-and-writing)
- [zip symlink escape vulnerability in extract](https://junglewise.ai/threats/cve-2026-115908-zip-is-a-zip-library-for-rust-that-supports-reading-and-writing)
- [zip library capacity overflow in legacy decoders](https://junglewise.ai/threats/cve-2026-115907-zip-is-a-zip-library-for-rust-that-supports-reading-and-writing)
- [zip library authentication bypass in AES entry reader](https://junglewise.ai/threats/cve-2026-115906-zip-is-a-zip-library-for-rust-that-supports-reading-and-writing)
- [RUSTSEC-2026-0369 - ZipStreamReader::extract() and ZipArchive::extract() apply Unix permissions through symlinks…](https://junglewise.ai/threats/rustsec-2026-0369-zipstreamreader-extract-and-ziparchive-extract-apply-427bba66)
