Intel

AIKIDO-2026-213131

OpenEXR is vulnerable to Information Disclosure

Information DisclosureGHSA-c32g-9w8w-3px6 Published Aug 10, 2026

43

Medium Risk

This Affects:

PYTHONOpenEXR
3.3.0 - 3.3.12
Fixed in 3.3.13
3.4.0 - 3.4.13
Fixed in 3.4.14
Are you affected? Scan for Free

TL;DR

PyOpenEXR allocates a full data-window-shaped NumPy array for each channel but installs a framebuffer slice whose row stride is based on the subsampled row width. When reading a crafted scanline EXR that contains a horizontally subsampled channel, the native reader writes later source rows into the tail of earlier array rows and leaves the final array row uninitialized. The stale row is returned through the default OpenEXR.File API, exposing same-process heap contents. The fix corrects the framebuffer stride so each destination row is fully written.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you read untrusted EXR files with subsampled channels through the PyOpenEXR Python bindings.

Background info

OpenEXR is vulnerable to Information Disclosure in versions 3.3.0 - 3.3.12 and 3.4.0 - 3.4.13.

How to fix this

Upgrade the OpenEXR library to the patch version.