CVE Catalog

CVE-2026-115906

MediumCVSS 6.5
Published: Updated: Translated: NVD NIST

Summary

The zip library for Rust in versions 0.6.0 through 8.x verifies the HMAC of an AES entry only when the data counter reaches zero. If the reader hits the real end of the archive while data_remaining is still positive, or an encrypted entry has no payload, a clean end of stream is returned without comparing the authentication tag. Applications using by_index_decrypt, by_name_decrypt, by_path_decrypt, or password-enabled by_index_with_options can accept modified plaintext without an authentication error.

Risk Assessment

An attacker can modify encrypted ZIP archive content without the application detecting it, leading to data integrity compromise. This affects applications processing encrypted ZIP archives from untrusted sources.

Recommendation

Upgrade the zip library to version 9.0.0 or later. Verify whether the application uses decryption functions and processes untrusted ZIP archives.

Other vulnerabilities in zip

See all
Original NVD description (English source)

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 data_remaining 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 by_index_decrypt, by_name_decrypt, by_path_decrypt, or password-enabled by_index_with_options can therefore accept modified plaintext without an authentication error. This issue is fixed in version 9.0.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS