Use After Free
CVE-2025-64183
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.
- LOW
- NETWORK
- NONE
- UNCHANGED
- NONE
- NONE
- NONE
- HIGH
CWE-416 - Use After Free
Use-after-free (UaF) vulnerability occurs when the application is using a pointer to memory that has been freed. Any attempt to read/write to a buffer after it is de-allocated allows memory corruption, sensitive information exposure, and can potentially lead to arbitrary code execution.
References
Advisory Timeline
- Published