Read the docs
TI-2025-39626 Aliases CVE-2025-64183GHSA-57cw-j6vp-2p9m

OpenEXR has use after free in PyObject_StealAttrString

Priority MEDIUM 58CWE-416Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-416 and the CVSS impact.

Summary

OpenEXR provides the specification and reference implementation of the EXR file format, an image storage format for the motion picture industry. In versions 3.2.0 through 3.2.4, 3.3.0 through 3.3.5, and 3.4.0 through 3.4.2, there is a use-after-free in PyObject_StealAttrString of pyOpenEXR_old.cpp. The legacy adapter defines PyObject_StealAttrString that calls PyObject_GetAttrString to obtain a new reference, immediately decrefs it, and returns the pointer. Callers then pass this dangling pointer to APIs like PyLong_AsLong/PyFloat_AsDouble, resulting in a use-after-free. This is invoked in multiple places (e.g., reading PixelType.v, Box2i, V2f, etc.) Versions 3.2.5, 3.3.6, and 3.4.3 fix the issue.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00322 25th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed openexr (AcademySoftwareFoundation): 3.2.5, 3.3.6, 3.4.3OpenEXR (PyPI): 3.2.5, 3.3.6, 3.4.3

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
AcademySoftwareFoundationopenexr3.2.0 to before 3.2.5; 3.3.0 to before 3.3.6; 3.4.0 to before 3.4.33.2.5, 3.3.6, 3.4.3Patch availableCNA
—OpenEXR (PyPI)3.2.0 to before 3.2.53.2.5Patch availableGHSA-57cw-j6vp-2p9m
—OpenEXR (PyPI)3.3.0 to before 3.3.63.3.6Patch availableGHSA-57cw-j6vp-2p9m
—OpenEXR (PyPI)3.4.0 to before 3.4.33.4.3Patch availableGHSA-57cw-j6vp-2p9m
  • openexr VendorAcademySoftwareFoundation Affected 3.2.0 to before 3.2.5; 3.3.0 to before 3.3.6; 3.4.0 to before 3.4.3 Fixed in 3.2.5, 3.3.6, 3.4.3 Patch available CNA
  • OpenEXR (PyPI) Vendor— Affected 3.2.0 to before 3.2.5 Fixed in 3.2.5 Patch available GHSA-57cw-j6vp-2p9m
  • OpenEXR (PyPI) Vendor— Affected 3.3.0 to before 3.3.6 Fixed in 3.3.6 Patch available GHSA-57cw-j6vp-2p9m
  • OpenEXR (PyPI) Vendor— Affected 3.4.0 to before 3.4.3 Fixed in 3.4.3 Patch available GHSA-57cw-j6vp-2p9m

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:openexr:openexr:*:*:*:*:*:*:*:*3.2.0 to before 3.2.5; 3.3.0 to before 3.3.6; 3.4.0 to before 3.4.3VulnerableAcademy Software Foundation
  • cpe:2.3:a:openexr:openexr:*:*:*:*:*:*:*:* Versions 3.2.0 to before 3.2.5; 3.3.0 to before 3.3.6; 3.4.0 to before 3.4.3 Vulnerable ·Academy Software Foundation

Remediation

  • Fix · CNA openexr (AcademySoftwareFoundation) Fixed in 3.2.5, 3.3.6, 3.4.3
  • Fix · GHSA-57cw-j6vp-2p9m OpenEXR (PyPI) Fixed in 3.2.5 Advisory →
  • Fix · GHSA-57cw-j6vp-2p9m OpenEXR (PyPI) Fixed in 3.3.6 Advisory →
  • Fix · GHSA-57cw-j6vp-2p9m OpenEXR (PyPI) Fixed in 3.4.3 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

Not affected: 5 products
  • Red Hat Enterprise Linux 10
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-64183
  2. 2026-10-03 Alias added: GHSA-57cw-j6vp-2p9m

References

  • TI-2026-30739 OpenColorIO vulnerable to stack buffer overflow via unbounded `sscanf %s` in Spi3D (.spi3d) LUT parser CVSS 4.0HIGH 8.4
  • TI-2026-38605 OpenEXR: Unhandled assert abort in HTJ2K decoder via crafted QCD marker (DoS) CVSS 4.0HIGH 7.1
  • TI-2026-48281 OpenEXR: Heap out-of-bounds write in exrmultiview with subsampled channel union CVSS 3.1HIGH 7.1
  • TI-2026-48279 OpenEXR: Heap buffer overflow in PyOpenEXR from literal/prefixed RGB channel name collision CVSS 3.1HIGH 7.1
  • TI-2026-42768 OpenEXR: Heap OOB read in SampleCountChannel row when using nonzero dataWindow CVSS 3.1HIGH 7.1
  • TI-2026-42338 OpenEXR: Out-of-bounds read in DeepImageChannel::row() for non-zero dataWindow origin CVSS 3.1HIGH 7.1
See all 26 →

Sources