UBUNTU-CVE-2026-115906: Medium severity ubuntu/rust-zip vulnerability
zip is a zip library for Rust that supports reading and writing simple ZIP files. From 0.6.0 until 9.0.0, the AES entry reader in src/aes.rs verifies its HMAC only when the attacker-controlled data counter reaches zero. If the underlying bounded reader reaches the real end of the archive while dataremaining is still positive, or if an encrypted entry has no payload, the reader can return a clean end of stream without reading and comparing the authentication tag. Applications using byindexdecrypt, bynamedecrypt, bypathdecrypt, or password-enabled byindexwithoptions can therefore accept modified plaintext without an authentication error. This issue is fixed in version 9.0.0.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
zipto a version that resolves this vulnerability.Fixed in 9.0.0
Event History
Frequently Asked Questions
Which applications are exposed to this issue?
Applications using affected versions of the Rust zip library are exposed when they decrypt AES-encrypted ZIP entries through by_index_decrypt, by_name_decrypt, by_path_decrypt, or password-enabled by_index_with_options. The issue affects versions from 0.6.0 up to, but not including, 9.0.0.
What must an attacker do to exploit the flaw?
An attacker must provide a crafted AES-encrypted ZIP entry that causes the bounded reader to reach the real archive end while the attacker-controlled remaining-data counter is still positive, or provide an encrypted entry with no payload. This can cause modified plaintext to be accepted without an HMAC authentication error.
Is user interaction required?
Yes. The supplied severity vector indicates user interaction is required, meaning a user or application workflow must process an attacker-controlled archive.
What is the remediation?
Upgrade the Rust zip library to version 9.0.0 or later, where the issue is fixed.