OpenEXR v3.4.12 Release Notes
Release Date: 2026-05-25 // 24 days ago-
๐ Patch release that addresses several bugs and security vulnerabilities.
- ๐ Fix several minor memory leaks recovering from reading invalid files.
- ๐ The compressor API incorrectly identified
HTJ2KandHTJ2K256as lossy; they are lossles. - ๐ Fix CMake AVX feature detection that caused DWA SIMD code to fail on certain architectures.
- ๐ โ ๏ธ The
WidenFilenameutility function is marked as deprecated, to be removed in a future release. - ๐จ โจ
exrmetricsnow print the on-disk size of the data portion of each part. Useful for determining compression impact on part data
For the python module:
- ๐ ๐ ๐ Reject files where the dataWindows does not match the pixel array dimensions.
- ๐ ๐ โจ Support NumPy float vector attributes
- ๐ โจ Reading now skips over invalid parts, returns the valid parts only.
- ๐ ๐ Doc strings have proper indentation
๐ This release addresses the following security vulnerabilities:
- CVE-2026-45696 OpenEXR
ht_undo_implheap-buffer-overflow READ via codestream/channel width mismatch in HTJ2K decode - CVE-2026-44663 Integer overflow in HTJ2K decoder (
ht_undo_impl) leading to heap-buffer-overflow - OSS-Fuzz 512895184 Null-dereference WRITE in
Imf_4_0::TileProcess::run_decode - OSS-fuzz 512314697 Direct-leak in
internal_exr_add_part - OSS-fuzz 508362159 Heap-buffer-overflow in
DwaCompressor_uncompress - OSS-fuzz 507413960 Heap-buffer-overflow in
generic_unpack
Previous changes from v3.4.11
-
๐ Patch release that addresses the following security vulnerabilities:
CVE-2026-42217 Shift exponent overflow in
readVariableLengthInteger()(ImfIDManifest.cpp)CVE-2026-42216 Out-of-bounds read in
IDManifest::init()during prefix expansionCVE-2026-41142 Integer overflow in
ImageChannel::resizeleads to heap OOB write via OpenEXRUtil public APIOSS-fuzz 504280155 Heap-buffer-overflow in
DwaCompressor_uncompressOSS-fuzz 505062709 Null-dereference READ in
Imf_3_3::prefixFromLayerName
๐ Build fixes:
- ๐ Fix Windows ARM64EC build issues and correct SIMD ARM NEON path for ARM64/EC
๐ Also, some minor documentation updates:
- ๐ GitHub Security Advisories are the preferred way of reporting vulnerabilities, not email.
- Some clarification around handling of UFT-8 of file paths