CVE-2026-34588 PUBLISHED

OpenEXR has a signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write

Assigner: GitHub_M
Reserved: 30.03.2026 Published: 06.04.2026 Updated: 06.04.2026

OpenEXR provides the specification and reference implementation of the EXR file format, an image storage format for the motion picture industry. From 3.1.0 to before 3.2.7, 3.3.9, and 3.4.9, internal_exr_undo_piz() advances the working wavelet pointer with signed 32-bit arithmetic. Because nx, ny, and wcount are int, a crafted EXR file can make this product overflow and wrap. The next channel then decodes from an incorrect address. The wavelet decode path operates in place, so this yields both out-of-bounds reads and out-of-bounds writes. This vulnerability is fixed in 3.2.7, 3.3.9, and 3.4.9.

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.6

Product Status

Vendor AcademySoftwareFoundation
Product openexr
Versions
  • Version >= 3.1.0, <= 3.1.13 is affected
  • Version >= 3.2.0, < 3.2.7 is affected
  • Version >= 3.3.0, < 3.3.9 is affected
  • Version >= 3.4.0, < 3.4.9 is affected

References

Problem Types

  • CWE-125: Out-of-bounds Read CWE
  • CWE-190: Integer Overflow or Wraparound CWE
  • CWE-787: Out-of-bounds Write CWE