High severity · published Nov 10, 2025
CVE-2025-64183
OpenEXR has use after free in PyObject_StealAttrString
7.5
CVSS
0.3%
EPSS
No
On KEV
Description
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 25% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OP
openexr · AcademySoftwareFoundation
>= 3.2.0, < 3.2.5; >= 3.3.0, < 3.3.6; >= 3.4.0, < 3.4.3 · source: vendor, NVD
Affected product
OP
openexr
AcademySoftwareFoundation
More from openexr
9.8
CVE-2026-42217
OpenEXR: Shift exponent overflow in `readVariableLengthInteger()` (`ImfIDManifest.cpp`)
9.1
CVE-2026-42216
OpenEXR: Out-of-bounds read in `IDManifest::init()` during prefix expansion
9.1
CVE-2025-48072
OpenEXR's Inaccurate Pointer Arithmetic can Cause an Out of Bounds Heap
8.8
CVE-2026-41142
OpenEXR is Vulnerable to Integer overflow in ImageChannel::resize leads to heap OOB write via OpenEXRUtil public API
7.8
CVE-2026-34588
OpenEXR has a signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write