CVE Catalog

CVE-2026-62986

MediumCVSS 4.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.23%

14th percentile - higher than 14% of all known CVEs

Summary

PyOpenEXR versions 3.3.0-3.3.12 and 3.4.0-3.4.13 return stale heap data when reading a crafted deep EXR with layer-prefixed RGB channels. Prefixed channels are decoded into wrong lanes, leaving others uninitialized, potentially exposing memory contents.

Risk Assessment

Applications processing untrusted EXR files may leak process memory data, posing a confidentiality risk.

Recommendation

Update OpenEXR to version 3.3.13 or 3.4.14, which include the fix.

Other vulnerabilities in OpenEXR

See all
Original NVD description (English source)

OpenEXR is the reference implementation and specification for the EXR image file format, widely used in the motion picture industry. In versions 3.3.0 through 3.3.12 and 3.4.0 through 3.4.13, the PyOpenEXR Python bindings return stale heap data when reading a crafted deep scanline EXR that uses layer-prefixed RGB channels. With the default channel coalescing (separate_channels=False), the wrapper groups channels such as left.R, left.G, and left.B into a single RGB sample array, but the lane-offset calculation in PyPart::setDeepSliceData() only recognizes the exact unprefixed names G, B, and A. As a result, prefixed channels like left.G and left.B are decoded into lane 0 while lanes 1 and 2 are left uninitialized and returned to Python. A Python application that reads untrusted deep EXR files through the default OpenEXR.File API and then logs, serializes, previews, or otherwise processes the resulting NumPy sample arrays may expose uninitialized same-process heap contents, in addition to receiving incorrect green and blue channel data. This issue is fixed in versions 3.3.13 and 3.4.14.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS