Vulnerability advisory

CVE-2026-115907

zip: legacy Shrink/Reduce/Implode decoder: denial of service from attacker-controlled ZIP64 uncompressed size

Published Updated OSV record ↗

Also known as GHSA-9hj8-73fh-9963

Severity
  • CVSS 3.xCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/zip-rs/zip2 ↗
e341b3d6b47f2022bf6a6794abb21e80cc05737d to before 2b1c4244a6f42906c8b3f21a358bf2321d0baaef2b1c4244a6f42906c8b3f21a358bf2321d0baaef
Not specified8b4991288b79ad11cce201c2d785d5baa795bd3e
Also listed as affected (22)
  • v7.4.0
  • v5.1.1
  • v8.6.0
  • v9.0.0-pre3
  • v9.0.0-pre2
  • v9.0.0-pre1
  • v8.5.1
  • v8.5.0
  • v8.4.0
  • v8.3.1
  • v8.3.0
  • v8.2.0.bak
  • v8.2.0
  • v8.1.0
  • v8.0.0
  • v7.3.0
  • v7.3.0-pre1
  • v7.2.0
  • v7.1.0
  • v7.0.0
  • v6.0.0
  • v5.1.0

Description

zip is a zip library for Rust that supports reading and writing simple ZIP files. From 5.1.0 until 9.0.0, applications built with the legacy-zip feature can reserve output capacity from an attacker-controlled ZIP64 uncompressed size before validating the compressed stream. The ShrinkDecoder path in src/legacy/shrink.rs can panic with a capacity overflow during ZipArchive::extract, and the Reduce and Implode decoders contain the same unbounded preallocation pattern. An unhandled panic can terminate an archive-processing service. This issue is fixed in version 9.0.0.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools