Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. pyzipper
  4. ›
  5. CVE-2026-44722

CVE-2026-44722: pyzipper has an encryption bypass for small files encrypted using it

May 14, 2026

A Python operator precedence bug in pyzipper/zipfile_aes.py caused the AE-2 format to never be automatically selected during encryption, regardless of file size or compression type. As a result, all encrypted entries are written in AE-1 format unless AE-2 is explicitly forced by the caller. AE-1 stores the plaintext CRC32 checksum unencrypted in the ZIP header. During investigation of this issue, it was also found that when writing to an unseekable zip archive, the CRC32 value was always written to the datadescripter section.

The AES encryption itself is not broken. An attacker who possesses the archive can read the CRC32 from the header without decrypting anything, then brute-force candidate plaintexts by computing CRC32(candidate) and comparing against the stored value. In practice, this attack is feasible today only against small or low-entropy files, as CRC32 exhaustion across a large plaintext space is computationally prohibitive on current hardware. Files with high-entropy or large content are not practically at risk under current computing constraints. Without this bug, pyzipper would have removed the CRC32 value for any file with content of less than 20 bytes uncompressed.

References

  • github.com/advisories/GHSA-crqm-m339-7m2p
  • github.com/danifus/pyzipper/releases/tag/v0.4.0
  • github.com/danifus/pyzipper/security/advisories/GHSA-crqm-m339-7m2p
  • nvd.nist.gov/vuln/detail/CVE-2026-44722

Code Behaviors & Features

Detect and mitigate CVE-2026-44722 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 0.4.0

Fixed versions

  • 0.4.0

Solution

Upgrade to version 0.4.0 or above.

Impact 6.2 MEDIUM

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Learn more about CVSS

Weakness

  • CWE-480: Use of Incorrect Operator

Source file

pypi/pyzipper/CVE-2026-44722.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 23 Jun 2026 12:24:53 +0000.