CVE-2026-62986
Received Received - Intake

Heap Data Exposure in PyOpenEXR Deep Scanline EXR

Vulnerability report for CVE-2026-62986, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-25

Last updated on: 2026-08-25

Assigner: GitHub, Inc.

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-25
Last Modified
2026-08-25
Generated
2026-08-25
AI Q&A
2026-08-25
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 8 associated CPEs
Vendor Product Version / Range
academysoftwarefoundation openexr From 3.3.0 (inc) to 3.3.13 (exc)
academysoftwarefoundation openexr From 3.4.0 (inc) to 3.4.14 (exc)
academysoftwarefoundation openexr 3.3.13
academysoftwarefoundation openexr 3.4.14
openexr pyopenexr From 3.3.0 (inc) to 3.3.12 (inc)
openexr pyopenexr From 3.4.0 (inc) to 3.4.13 (inc)
openexr pyopenexr 3.3.13
openexr pyopenexr 3.4.14

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-457 The code uses a variable that has not been initialized, leading to unpredictable or unintended results.
CWE-200 The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
CWE-908 The product uses or accesses a resource that has not been initialized.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects PyOpenEXR versions 3.3.0-3.3.12 and 3.4.0-3.4.13. When processing crafted deep scanline EXR files with layer-prefixed RGB channels (e.g., left.G, left.B), the library incorrectly groups channels into a single RGB array. The lane-offset calculation fails to recognize prefixed channels, causing uninitialized heap data to be returned in lanes 1 and 2 while lane 0 receives all decoded samples.

The issue stems from improper channel name comparisons using strcmp for unprefixed names like G, B, or A, which doesn't match layer-prefixed channels. The fix extracts the last character of channel names for comparison instead.

Detection Guidance

Detecting this vulnerability requires checking the installed version of PyOpenEXR/OpenEXR. Use commands like 'pip show PyOpenEXR' or 'dpkg -l | grep openexr' to verify if your version is between 3.3.0-3.3.12 or 3.4.0-3.4.13. If so, the system is vulnerable.

Impact Analysis

If you process untrusted deep EXR files using OpenEXR.File API with default settings, this flaw may expose stale heap memory or incorrect channel data (green/blue) in NumPy arrays. Applications logging, serializing, or previewing these arrays could inadvertently disclose sensitive information or produce incorrect results.

Compliance Impact

This vulnerability could potentially affect compliance with GDPR and HIPAA by exposing uninitialized heap data and incorrect channel data when processing untrusted deep EXR files. This may lead to unauthorized information disclosure or data integrity issues, which are critical concerns under these regulations.

Mitigation Strategies

Upgrade PyOpenEXR/OpenEXR to versions 3.3.13 or 3.4.14 or later immediately. Avoid processing untrusted deep EXR files until patched. Monitor for suspicious activity in applications using OpenEXR.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-62986. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart