CVE-2026-34589: OpenEXR heap out-of-bounds write in DWA lossy decoder

CVE-2026-34589 · Severity: medium · CVSS 5 · Published 2026-04-06

OpenEXR is a widely used professional-grade image format for the motion picture and visual effects industry. A vulnerability in its image decoding component allows a specially crafted image file to cause a memory error when opened. This could lead to a program crash or potentially allow an attacker to execute unauthorized code on the user's system, impacting data confidentiality and system availability.

Technologies: OpenEXR (PyPI), Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7. Vendors: PyPI, Red Hat.

Quick answers

Is CVE-2026-34589 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-34589 being exploited in the wild.
How severe is CVE-2026-34589?
Medium severity, with a CVSS score of 5, published 6 April 2026.
Which products and versions are affected?
OpenEXR (PyPI) ECOSYSTEM:introduced=3.2.0,fixed=3.2.7, ECOSYSTEM:introduced=3.2.0,fixed=3.2.7,introduced=3.3.0,fixed=3.3.9,introduced=3.4.0,fixed=3.4.9; Red Hat Enterprise Linux 6 affected; Red Hat Enterprise Linux 7 affected.
Is there a fix for CVE-2026-34589?
Yes. OpenEXR (PyPI): upgrade to 3.2.7, 3.4.9 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-34589 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-34589?
Check whether you run OpenEXR (PyPI), Red Hat Enterprise Linux 6 or Red Hat Enterprise Linux 7 at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • OpenEXR (PyPI): upgrade to 3.2.7, 3.4.9 or later
    pip install "OpenEXR>=3.4.9"

Technical details

An integer overflow vulnerability exists in the DWA lossy decoder of OpenEXR within 'src/lib/OpenEXRCore/internal_dwa_decoder.h'. The issue stems from using signed 32-bit arithmetic to calculate temporary per-component block pointers (numBlocksX * 64). When processing an image with a sufficiently large width, this calculation overflows, causing the resulting pointer to wrap and point outside the allocated 'rowBlock' backing store. Subsequent write operations in 'LossyDctDecoder_execute' then perform out-of-bounds writes. This is reachable via the public decoder path and can be triggered by a crafted scanline DWAA file. Patches are available in versions 3.2.7, 3.3.9, and 3.4.9.

Affected products

  • AcademySoftwareFoundation OpenEXR >= 3.2.0, < 3.2.7; >= 3.3.0, < 3.3.9; >= 3.4.0, < 3.4.9
  • Red Hat Red Hat Enterprise Linux 6 affected
  • Red Hat Red Hat Enterprise Linux 7 affected

Identifiers

  • CVE-2026-34589
  • GHSA-p8xc-w3q4-h64x
  • PYSEC-2026-2848

Timeline

  • 2026-04-03: patched: Versions 3.2.7, 3.3.9, and 3.4.9 released.
  • 2026-04-05: advisory: GitHub Security Advisory GHSA-p8xc-w3q4-h64x published.
  • 2026-04-06: disclosed: CVE-2026-34589 published.

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.