CVE-2026-59186
OpenEXR: Heap out-of-bounds write in TiledRgbaInputFile via integer overflow on 32-bit (ILP32) builds
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.1
OpenEXR: Heap out-of-bounds write in TiledRgbaInputFile via integer overflow on 32-bit (ILP32) builds
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
- Record
CVE-2026-59186- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Weakness
- CWE-122, CWE-190, CWE-787
- Updated
- 2026-11-02
EUVDEUVD-2026-65584
7.1
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
- Record
EUVD-2026-65584- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
NVD
7.1
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
- Record
CVE-2026-59186- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Weakness
- CWE-122, CWE-190, CWE-787
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-59186
7.1
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
- Record
ALPINE-CVE-2026-59186- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Updated
- 2026-11-03
OSVBELL-CVE-2026-59186
7.1
- Record
BELL-CVE-2026-59186- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
OSV
7.1
OpenEXR: Heap out-of-bounds write in TiledRgbaInputFile via integer overflow on 32-bit (ILP32) builds
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
- Record
CVE-2026-59186- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Weakness
- CWE-122, CWE-190, CWE-787
- Updated
- 2026-11-02
Show 18 moreShow less
OSVDEBIAN-CVE-2026-59186
7.1
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
- Record
DEBIAN-CVE-2026-59186- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
OSVOESA-2026-4684
7.1
OpenEXR security update
OpenEXR is a high dynamic-range (HDR) image file format originally developed by Industrial Light & Magic for use in computer imaging applications.
Security Fix(es):
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.1.0 through 3.2.10, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, an int32_t multiplication in OpenEXRCore's unpack_sample_table() can overflow while decoding a crafted deep tiled EXR file, producing an invalid pointer that leads to a read from an unmapped memory address and a crash. Because the overflow occurs in the standard decoding path (exr_decoding_run), any application that decodes deep tiled EXR files is affected. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.(CVE-2026-59183)
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. Versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13 allow a crafted EXR with a nonzero dataWindow.min to make TypedFlatImageChannel::row() return an invalid heap pointer, causing out-of-bounds or use-after-free writes. This occurs when an application writes rows through FlatHalfChannel::row(). Affected consumers are tools, converters, render pipeline components, or image-processing services that accept untrusted EXR files and use FlatHalfChannel::row() on loaded images. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.(CVE-2026-59184)
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.(CVE-2026-59186)
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In OpenEXRUtil versions 3.3.0 through 3.3.12 and 3.4.0 through 3.4.12, the documented TypedDeepImageChannel<T>::row() API can return an out-of-bounds pointer when a deep image has a non-zero dataWindow origin, resulting in a heap out-of-bounds read and crash, with potential information disclosure under a controlled heap layout. The flaw arises because ImfDeepImageChannel uses two conflicting coordinate models: at(x, y) uses absolute coordinates (with _base offset by dataWindow.min), while row(r) is documented as 0-based logical access. For a non-zero dataWindow.min, row(0) therefore points outside the _sampleListPointers allocation instead of at the first logical row. This issue is fixed in versions 3.3.13 and 3.4.13.(CVE-2026-59189)
OpenEXR is the reference implementation and specification for the EXR image file format, widely used in the motion picture industry. In versions through 3.2.10, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, the OpenEXRUtil library returns an out-of-bounds pointer from the SampleCountChannel::row() API when a deep image has a non-zero dataWindow origin. The row() accessor is documented as 0-based and computes its address from an internal base that is offset for absolute pixel coordinates, so the two coordinate models conflict whenever dataWindow.min is non-zero. For a deep image whose data window has a large negative vertical origin, row(0) points far outside the allocated sample-count buffer. An application that opens an attacker-controlled deep EXR file and accesses sample counts through row() performs an out-of-bounds read, which can crash the process or, under a controlled heap layout, return adjacent heap memory as…
- Record
OESA-2026-4684- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Updated
- 2026-11-04
OSVRHSA-2026:82345
7.1
Red Hat Security Advisory: OpenEXR security update
- Record
RHSA-2026:82345- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H - Updated
- 2026-11-02
OSVRLSA-2026:82345
7.1
Important: OpenEXR security update
OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications. This package contains libraries and sample applications for handling the format.
Security Fix(es):
-
OpenEXR: OpenEXR: Out-of-bounds write vulnerability via crafted EXR files (CVE-2026-59184)
-
OpenEXR: OpenEXR: Heap out-of-bounds write via crafted tiled EXR file (CVE-2026-59186)
-
OpenEXR: OpenEXR: Information disclosure and denial of service due to out-of-bounds read (CVE-2026-59189)
-
OpenEXR: OpenEXR: Heap out-of-bounds write in exrmultiview via crafted EXR files (CVE-2026-68515)
-
OpenEXR: OpenEXR: Information disclosure and denial of service via out-of-bounds read (CVE-2026-59981)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
RLSA-2026:82345- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-59186
7.1
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
- Record
UBUNTU-CVE-2026-59186- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H - Updated
- 2026-11-02
OSVALSA-2026:82345 No score
Important: OpenEXR security update
OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications. This package contains libraries and sample applications for handling the format.
Security Fix(es):
- OpenEXR: OpenEXR: Out-of-bounds write vulnerability via crafted EXR files (CVE-2026-59184)
- OpenEXR: OpenEXR: Heap out-of-bounds write via crafted tiled EXR file (CVE-2026-59186)
- OpenEXR: OpenEXR: Information disclosure and denial of service due to out-of-bounds read (CVE-2026-59189)
- OpenEXR: OpenEXR: Heap out-of-bounds write in exrmultiview via crafted EXR files (CVE-2026-68515)
- OpenEXR: OpenEXR: Information disclosure and denial of service via out-of-bounds read (CVE-2026-59981)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
- Record
ALSA-2026:82345- Updated
- 2026-11-02
OSVAZL-97643 No score
CVE-2026-59186 affecting package OpenEXR 2.3.0-6
OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions before 3.2.11, 3.3.0 through 3.3.12, and 3.4.0 through 3.4.13, a crafted tiled EXR can trigger a heap out-of-bounds write on 32-bit/ILP32 builds when read through the public TiledRgbaInputFile RGBA API. The file uses a small 40x40 dataWindow but a 65537x65537 tile size. On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation. This issue is fixed in versions 3.2.11, 3.3.13, and 3.4.14.
- Record
AZL-97643- Updated
- 2026-11-02
OSVCLSA-2026-1792627161 No score
openexr: Fix of 11 CVEs
- CVE-2026-54920: validate the data window and pre-initialise every level pointer in OpenEXRUtil Image::resize(), so an overflowing level size no longer leaves clearLevels() deleting uninitialised ImageLevel pointers
- CVE-2026-55059: map the row index with dataWindow.min.y instead of min.x in SampleCountChannel::set(int, unsigned int[]) and bounds-check the per-pixel setter, so a valid row no longer writes before the sample-count buffer
- CVE-2026-55373: reject sample counts above 0x80000000 in roundListSizeUp(), so the unsigned shift loop can no longer wrap to zero and spin forever
- CVE-2026-59183: widen the chunk width, height and row index to int64_t in unpack_sample_table(), so a large deep tile no longer overflows the sample-table index arithmetic and reads unmapped memory
- CVE-2026-59184: index the TypedFlatImageChannel row() accessors from the compact _pixels array instead of the absolute-coordinate _base pointer, so writing rows of an image with a non-zero data window origin no longer writes outside the pixel buffer
- CVE-2026-59186: validate Array/Array2D dimensions and compute the Array2D element count in 64-bit arithmetic, so an oversized tile no longer under-allocates the Rgba conversion buffer on ILP32 builds
- CVE-2026-59189: index the TypedDeepImageChannel row() accessors from the compact _sampleListPointers array instead of the absolute-coordinate _base pointer, so reading rows of a deep image with a non-zero data window origin no longer reads outside the sample-list pointer buffer
- CVE-2026-59981: index SampleCountChannel::row() from the compact _numSamples array instead of the absolute-coordinate _base pointer, so row(0) stays inside the allocation for a deep image with a non-zero data window origin
- CVE-2026-59983: compute the deep sample-count table size in uint64_t and reject a truncating conversion in update_pack_unpack_ptrs(), so an ILP32 build no longer allocates a wrapped-to-zero table
- CVE-2026-59984: reject a scratch-buffer size that does not survive the conversion to size_t in internal_exr_undo_b44() and internal_exr_undo_b44a(), so B44/B44A decode no longer writes past a truncated ILP32 allocation
- CVE-2026-61555: return defaultViewName() instead of multiView[0] in viewFromChannelName(), so a crafted empty multiView attribute no longer indexes an empty vector
- Record
CLSA-2026-1792627161- Updated
- 2026-11-02
OSVCLSA-2026-1792628290 No score
openexr: Fix of 11 CVEs
- CVE-2026-54920: validate the data window and pre-initialise every level pointer in OpenEXRUtil Image::resize(), so an overflowing level size no longer leaves clearLevels() deleting uninitialised ImageLevel pointers
- CVE-2026-55059: map the row index with dataWindow.min.y instead of min.x in SampleCountChannel::set(int, unsigned int[]) and bounds-check the per-pixel setter, so a valid row no longer writes before the sample-count buffer
- CVE-2026-55373: reject sample counts above 0x80000000 in roundListSizeUp(), so the unsigned shift loop can no longer wrap to zero and spin forever
- CVE-2026-59183: widen the chunk width, height and row index to int64_t in unpack_sample_table(), so a large deep tile no longer overflows the sample-table index arithmetic and reads unmapped memory
- CVE-2026-59184: index the TypedFlatImageChannel row() accessors from the compact _pixels array instead of the absolute-coordinate _base pointer, so writing rows of an image with a non-zero data window origin no longer writes outside the pixel buffer
- CVE-2026-59186: validate Array/Array2D dimensions and compute the Array2D element count in 64-bit arithmetic, so an oversized tile no longer under-allocates the Rgba conversion buffer on ILP32 builds
- CVE-2026-59189: index the TypedDeepImageChannel row() accessors from the compact _sampleListPointers array instead of the absolute-coordinate _base pointer, so reading rows of a deep image with a non-zero data window origin no longer reads outside the sample-list pointer buffer
- CVE-2026-59981: index SampleCountChannel::row() from the compact _numSamples array instead of the absolute-coordinate _base pointer, so row(0) stays inside the allocation for a deep image with a non-zero data window origin
- CVE-2026-59983: compute the deep sample-count table size in uint64_t and reject a truncating conversion in update_pack_unpack_ptrs(), so an ILP32 build no longer allocates a wrapped-to-zero table
- CVE-2026-59984: reject a scratch-buffer size that does not survive the conversion to size_t in internal_exr_undo_b44() and internal_exr_undo_b44a(), so B44/B44A decode no longer writes past a truncated ILP32 allocation
- CVE-2026-61555: return defaultViewName() instead of multiView[0] in viewFromChannelName(), so a crafted empty multiView attribute no longer indexes an empty vector
- Record
CLSA-2026-1792628290- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11612-1 No score
libIex-3_4-33-3.4.14-1.1 on GA media
These are all security issues fixed in the libIex-3_4-33-3.4.14-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11612-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12184-1 No score
python313-OpenEXR-3.4.16-1.1 on GA media
These are all security issues fixed in the python313-OpenEXR-3.4.16-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12184-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21737-1 No score
Security update for openexr
This update for openexr fixes the following issues:
- CVE-2026-59183: unmapped memory access leading to crash due to
int32_tmultiplication overflow inunpack_sample_table()when decoding a crafted deep tiled EXR file (bsc#1276428). - CVE-2026-59184: out-of-bounds or use-after-free writes when processing a crafted EXR with a nonzero
dataWindow.min(bsc#1276849). - CVE-2026-59186: heap out-of-bounds write on 32-bit/ILP32 builds when a crafted tiled EXR is read through the public
TiledRgbaInputFileRGBA API (bsc#1276850). - CVE-2026-59189: heap out-of-bounds read when processing a deep image that has a non-zero
dataWindoworigin (bsc#1276855). - CVE-2026-59981: heap out-of-bounds read when procesing a deep image that has a non-zero
dataWindoworigin (bsc#1276862). - CVE-2026-59982: out-of-bounds pointer access when processing a crafted deep EXR that has a non-zero
dataWindoworigin (bsc#1276853). - CVE-2026-59983: out-of-bounds read in ILP32 builds when processing a crafted uncompressed deep-tile EXR (bsc#1276856).
- CVE-2026-59984: out-of-bounds write in ILP32 builds when processing a crafted B44-compressed scanline EXR (bsc#1276857).
- CVE-2026-59985: out-of-bounds read in ILP32 builds when processing a crafted RLE-compressed EXR (bsc#1276858).
- CVE-2026-61555: undefined behavior when processing a crafted EXR with an empty
multiViewheader attribute (bsc#1276859). - CVE-2026-68515: heap out-of-bounds write in
exrmultiviewwhen combining two specially crafted, individually valid scanline EXR files whose uniondataWindowis not aligned to one view's channel subsampling (bsc#1276848).
- Record
openSUSE-SU-2026:21737-1- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-11-CVE-2026-59186 No score
CVE-2026-59186 in openexr - Patched by Root
Root has patched CVE-2026-59186 in the openexr package for Root:Debian:11. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-11-CVE-2026-59186- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2026-59186 No score
CVE-2026-59186 in openexr - Patched by Root
Root has patched CVE-2026-59186 in the openexr package for Root:Debian:12. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-12-CVE-2026-59186- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-13-CVE-2026-59186 No score
CVE-2026-59186 in openexr - Patched by Root
Root has patched CVE-2026-59186 in the openexr package for Root:Debian:13. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-13-CVE-2026-59186- Updated
- 2026-11-02
OSVSUSE-SU-2026:23604-1 No score
Security update for openexr
This update for openexr fixes the following issues:
- CVE-2026-59183: unmapped memory access leading to crash due to
int32_tmultiplication overflow inunpack_sample_table()when decoding a crafted deep tiled EXR file (bsc#1276428). - CVE-2026-59184: out-of-bounds or use-after-free writes when processing a crafted EXR with a nonzero
dataWindow.min(bsc#1276849). - CVE-2026-59186: heap out-of-bounds write on 32-bit/ILP32 builds when a crafted tiled EXR is read through the public
TiledRgbaInputFileRGBA API (bsc#1276850). - CVE-2026-59189: heap out-of-bounds read when processing a deep image that has a non-zero
dataWindoworigin (bsc#1276855). - CVE-2026-59981: heap out-of-bounds read when procesing a deep image that has a non-zero
dataWindoworigin (bsc#1276862). - CVE-2026-59982: out-of-bounds pointer access when processing a crafted deep EXR that has a non-zero
dataWindoworigin (bsc#1276853). - CVE-2026-59983: out-of-bounds read in ILP32 builds when processing a crafted uncompressed deep-tile EXR (bsc#1276856).
- CVE-2026-59984: out-of-bounds write in ILP32 builds when processing a crafted B44-compressed scanline EXR (bsc#1276857).
- CVE-2026-59985: out-of-bounds read in ILP32 builds when processing a crafted RLE-compressed EXR (bsc#1276858).
- CVE-2026-61555: undefined behavior when processing a crafted EXR with an empty
multiViewheader attribute (bsc#1276859). - CVE-2026-68515: heap out-of-bounds write in
exrmultiviewwhen combining two specially crafted, individually valid scanline EXR files whose uniondataWindowis not aligned to one view's channel subsampling (bsc#1276848).
- Record
SUSE-SU-2026:23604-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4003-1 No score
Security update for openexr
This update for openexr fixes the following issues:
- CVE-2026-59184: invalid heap pointer, causing out-of-bounds or use-after-free writes (bsc#1276849).
- CVE-2026-59186: On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation (bsc#1276850).
- CVE-2026-59189: API can return an out-of-bounds pointer when a deep image has a non-zero dataWindow origin, resulting in a heap out-of-bounds read and crash, with potential information disclosure under a controlled heap layout (bsc#1276855).
- CVE-2026-59981: an attacker-controlled deep EXR file can access sample counts through row() performs an out-of-bounds read, which can crash the process or, under a controlled heap layout, return adjacent heap memory as sample-count values (bsc#1276862).
- CVE-2026-59982: an out-of-bounds pointer from TypedDeepImageChannel::row() when a crafted deep EXR has a nonzero dataWindow origin (bsc#1276853).
- CVE-2026-61555: crashing occurs when Imf::GetChannelsInMultiPartFile() processes a crafted EXR with an empty multiView header attribute and Imf::viewFromChannelName() indexes the empty vector for a dotless channel name (bsc#1276859).
- CVE-2026-68515: The utility allocates sampled channel storage using a truncated union_width / xSampling, then reads the sampled input through a Slice based on the misaligned union window, producing a heap out-of-bounds write (bsc#1276848).
- Record
SUSE-SU-2026:4003-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4005-1 No score
Security update for openexr
This update for openexr fixes the following issues:
- CVE-2026-59186: On ILP32, the Array2D<Rgba> tile-conversion buffer size calculation overflows, allocates a much smaller heap buffer, and tile decode writes past that allocation (bsc#1276850).
- CVE-2026-61555: crashing occurs when Imf::GetChannelsInMultiPartFile() processes a crafted EXR with an empty multiView header attribute and Imf::viewFromChannelName() indexes the empty vector for a dotless channel name (bsc#1276859).
- CVE-2026-68515: The utility allocates sampled channel storage using a truncated union_width / xSampling, then reads the sampled input through a Slice based on the misaligned union window, producing a heap out-of-bounds write (bsc#1276848).
- Record
SUSE-SU-2026:4005-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
openexrAlpine:v3.24 |
before 3.4.15-r0 | 3.4.15-r0 |
OpenEXR-develAlmaLinux:8 From an advisory covering 5 CVEs |
before 2.2.0-12.el8_10.3 | 2.2.0-12.el8_10.3 |
OpenEXR-libsAlmaLinux:8 From an advisory covering 5 CVEs |
before 2.2.0-12.el8_10.3 | 2.2.0-12.el8_10.3 |
OpenEXRAzure Linux:3 |
through 2.3.0-6 | None known |
openexrAlpaquita:stream |
3.4.4-r0 up to 3.4.15-r0 | 3.4.15-r0 |
openexrTuxCare:AlmaLinux:9.2 From an advisory covering 11 CVEs |
before 3.1.1-3.el9.tuxcare.els11 | 3.1.1-3.el9.tuxcare.els11 |
openexr-develTuxCare:AlmaLinux:9.2 From an advisory covering 11 CVEs |
before 3.1.1-3.el9.tuxcare.els11 | 3.1.1-3.el9.tuxcare.els11 |
openexr-libsTuxCare:AlmaLinux:9.2 From an advisory covering 11 CVEs |
before 3.1.1-3.el9.tuxcare.els11 | 3.1.1-3.el9.tuxcare.els11 |
openexrTuxCare:AlmaLinux:9.6 From an advisory covering 11 CVEs |
before 3.1.1-3.el9.tuxcare.els11 | 3.1.1-3.el9.tuxcare.els11 |
openexr-develTuxCare:AlmaLinux:9.6 From an advisory covering 11 CVEs |
before 3.1.1-3.el9.tuxcare.els11 | 3.1.1-3.el9.tuxcare.els11 |
Show 46 moreShow less
| Package | Affected | Fixed |
|---|---|---|
openexr-libsTuxCare:AlmaLinux:9.6 From an advisory covering 11 CVEs |
before 3.1.1-3.el9.tuxcare.els11 | 3.1.1-3.el9.tuxcare.els11 |
openexrDebian:12 |
All versions, plus listed versions 3.1.13-13.1.13-23.1.5-53.1.5-5.13.1.5-5.1+hurd.1 Show 6 moreShow less3.4.14-0.13.4.15+ds-13.4.6+ds-13.4.6+ds-23.4.6+ds-33.4.6+ds-4 |
None known |
openexrDebian:13 |
All versions, plus listed versions 3.1.13-23.4.14-0.13.4.15+ds-13.4.6+ds-13.4.6+ds-23.4.6+ds-33.4.6+ds-4 |
None known |
openexrDebian:14 |
before 3.4.14-0.1, plus listed versions 3.1.13-23.4.6+ds-13.4.6+ds-23.4.6+ds-33.4.6+ds-4 |
3.4.14-0.1 |
OpenEXRopenEuler:24.03-LTS-SP3 From an advisory covering 9 CVEs |
before 3.1.11-10.oe2403sp3 | 3.1.11-10.oe2403sp3 |
OpenEXRRed Hat:enterprise_linux:8::appstream From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXR-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXR-debugsourceRed Hat:enterprise_linux:8::appstream From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXR-libsRed Hat:enterprise_linux:8::appstream From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXR-libs-debuginfoRed Hat:enterprise_linux:8::appstream From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXR-debuginfoRed Hat:enterprise_linux:8::crb From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXR-debugsourceRed Hat:enterprise_linux:8::crb From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXR-develRed Hat:enterprise_linux:8::crb From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXR-libs-debuginfoRed Hat:enterprise_linux:8::crb From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
OpenEXRRocky Linux:8 From an advisory covering 5 CVEs |
before 0:2.2.0-12.el8_10.3 | 0:2.2.0-12.el8_10.3 |
openexrRoot:Debian:11 |
before 2.5.4-2+deb11u1.aikido.18 | 2.5.4-2+deb11u1.aikido.18 |
rootio-openexrRoot:Debian:11 |
before 2.5.4-2+deb11u1.aikido.18 | 2.5.4-2+deb11u1.aikido.18 |
openexrRoot:Debian:12 |
before 3.1.5-5.aikido.25 | 3.1.5-5.aikido.25 |
rootio-openexrRoot:Debian:12 |
before 3.1.5-5.aikido.25 | 3.1.5-5.aikido.25 |
openexrRoot:Debian:13 |
before 3.1.13-2.aikido.15 | 3.1.13-2.aikido.15 |
rootio-openexrRoot:Debian:13 |
before 3.1.13-2.aikido.15 | 3.1.13-2.aikido.15 |
openexrSUSE:Linux Enterprise Server 16.0 From an advisory covering 11 CVEs |
before 3.2.2-160000.10.1 | 3.2.2-160000.10.1 |
openexrSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 11 CVEs |
before 3.2.2-160000.10.1 | 3.2.2-160000.10.1 |
openexrSUSE:Linux Enterprise Module for Desktop Applications 15 SP7 From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise Server for SAP Applications 15 SP4 From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise Server for SAP Applications 15 SP5 From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise Server for SAP Applications 15 SP6 From an advisory covering 7 CVEs |
before 2.2.1-150000.3.55.1 | 2.2.1-150000.3.55.1 |
openexrSUSE:Linux Enterprise Server 12 SP5-LTSS From an advisory covering 3 CVEs |
before 2.1.0-6.51.1 | 2.1.0-6.51.1 |
openexrSUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 From an advisory covering 3 CVEs |
before 2.1.0-6.51.1 | 2.1.0-6.51.1 |
openexrUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 2.2.0-1ubuntu32.2.0-7ubuntu12.2.0-9ubuntu12.2.0-10ubuntu22.2.0-10ubuntu2.1 Show 8 moreShow less2.2.0-10ubuntu2.22.2.0-10ubuntu2.32.2.0-10ubuntu2.42.2.0-10ubuntu2.62.2.0-10ubuntu2.6+esm12.2.0-10ubuntu2.6+esm22.2.0-10ubuntu2.6+esm32.2.0-10ubuntu2.6+esm4 |
None known |
openexrUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 2.2.0-11ubuntu12.2.0-11.1ubuntu12.2.0-11.1ubuntu1.12.2.0-11.1ubuntu1.22.2.0-11.1ubuntu1.3 Show 6 moreShow less2.2.0-11.1ubuntu1.42.2.0-11.1ubuntu1.62.2.0-11.1ubuntu1.72.2.0-11.1ubuntu1.82.2.0-11.1ubuntu1.92.2.0-11.1ubuntu1.9+esm1 |
None known |
openexrUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 2.2.1-4.1ubuntu12.3.0-62.3.0-6build12.3.0-6ubuntu0.12.3.0-6ubuntu0.2 Show 4 moreShow less2.3.0-6ubuntu0.32.3.0-6ubuntu0.52.3.0-6ubuntu0.5+esm12.3.0-6ubuntu0.5+esm2 |
None known |
openexrUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 2.5.4-22.5.7-12.5.7-1ubuntu0.1~esm12.5.7-1ubuntu0.1~esm2 |
None known |
openexrUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 3.1.5-5.13.1.5-5.1build13.1.5-5.1build23.1.5-5.1build33.1.5-5.1ubuntu0.1~esm1 |
None known |
openexrUbuntu:26.10 |
All versions, plus listed versions 3.1.13-2build13.4.6+ds-4ubuntu3 |
None known |
openexrUbuntu:Pro:26.04:LTS |
All versions, plus listed versions 3.1.13-23.1.13-2build13.1.13-2ubuntu0.26.04.1~esm1 |
None known |
openexropenSUSE:Tumbleweed From an advisory covering 17 CVEs |
before 3.4.14-1.1 | 3.4.14-1.1 |
python-OpenEXRopenSUSE:Tumbleweed From an advisory covering 17 CVEs |
before 3.4.16-1.1 | 3.4.16-1.1 |
openexropenSUSE:Leap 16.0 From an advisory covering 11 CVEs |
before 3.2.2-160000.10.1 | 3.2.2-160000.10.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected, aliases, facts, references | OSV | |
| affected, aliases, references | OSV | |
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-59186 is a high vulnerability (CVSS 7.1) in Academysoftwarefoundation Openexr, published August 25, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.27%, the 19th percentile. Fixed in openexr 3.4.15-r0.
References
github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-f667-c4wm-c8gq
github.com/AcademySoftwareFoundation/openexr/commit/71907b44ce9a1b05bf3934b8a7821752750731ab
github.com/AcademySoftwareFoundation/openexr/commit/904141d3a1f86327ad1e2b93fc92ce2dd5881d34
github.com/AcademySoftwareFoundation/openexr/commit/b1a5887372772d79328f4eb42b7f86352a38170b
security.alpinelinux.org/vuln/CVE-2026-59186
access.redhat.com/errata/RHSA-2026:82345
Show 86 moreShow less
access.redhat.com/security/cve/CVE-2026-59184
access.redhat.com/security/cve/CVE-2026-59186
access.redhat.com/security/cve/CVE-2026-59189
access.redhat.com/security/cve/CVE-2026-59981
access.redhat.com/security/cve/CVE-2026-68515
bugzilla.redhat.com/2523654
bugzilla.redhat.com/2523655
bugzilla.redhat.com/2523671
bugzilla.redhat.com/2523747
bugzilla.redhat.com/2523752
errata.almalinux.org/8/ALSA-2026-82345.html
nvd.nist.gov/vuln/detail/CVE-2026-59186
docs.bell-sw.com/security/cves/CVE-2026-59186
errata.tuxcare.com/els_os/almalinux9.2esu/CLSA-2026-1792627161.html
nvd.nist.gov/vuln/detail/CVE-2026-54920
nvd.nist.gov/vuln/detail/CVE-2026-55059
nvd.nist.gov/vuln/detail/CVE-2026-55373
nvd.nist.gov/vuln/detail/CVE-2026-59183
nvd.nist.gov/vuln/detail/CVE-2026-59184
nvd.nist.gov/vuln/detail/CVE-2026-59189
nvd.nist.gov/vuln/detail/CVE-2026-59981
nvd.nist.gov/vuln/detail/CVE-2026-59983
nvd.nist.gov/vuln/detail/CVE-2026-59984
nvd.nist.gov/vuln/detail/CVE-2026-61555
errata.tuxcare.com/els_os/tuxcare9.6esu/CLSA-2026-1792628290.html
github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59186.json
security-tracker.debian.org/tracker/CVE-2026-59186
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-4684
nvd.nist.gov/vuln/detail/CVE-2026-59982
nvd.nist.gov/vuln/detail/CVE-2026-68515
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=2523654
bugzilla.redhat.com/show_bug.cgi?id=2523655
bugzilla.redhat.com/show_bug.cgi?id=2523671
bugzilla.redhat.com/show_bug.cgi?id=2523747
bugzilla.redhat.com/show_bug.cgi?id=2523752
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_82345.json
cve.org/CVERecord?id=CVE-2026-59184
github.com/AcademySoftwareFoundation/openexr/commit/37f03b6ed90f3dd9910f31de3a40f25f2bc2aca1
github.com/AcademySoftwareFoundation/openexr/commit/55b7958ecb5ac32c427ff39c1e063f6f7bbee77c
github.com/AcademySoftwareFoundation/openexr/commit/aef02224ba282a802de65d16c49c1cdb82089dec
github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-pqp9-558c-453q
cve.org/CVERecord?id=CVE-2026-59186
cve.org/CVERecord?id=CVE-2026-59189
github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-hwmv-39v6-739m
cve.org/CVERecord?id=CVE-2026-59981
github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-m799-ffc3-8pxc
cve.org/CVERecord?id=CVE-2026-68515
github.com/AcademySoftwareFoundation/openexr/commit/77ee19c021398b1c56f32c3af8347e365dbd4f33
github.com/AcademySoftwareFoundation/openexr/commit/c644ac2dfeac82939c81a8551d6f4b7859f63add
github.com/AcademySoftwareFoundation/openexr/commit/e2300a3d54a93d20a36a86b82f3a506c4c91476f
github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-gjf7-wjjw-xq56
errata.rockylinux.org/RLSA-2026:82345
suse.com/support/update/announcement/2026/suse-su-202623604-1
bugzilla.suse.com/1276428
bugzilla.suse.com/1276848
bugzilla.suse.com/1276849
bugzilla.suse.com/1276850
bugzilla.suse.com/1276853
bugzilla.suse.com/1276855
bugzilla.suse.com/1276856
bugzilla.suse.com/1276857
bugzilla.suse.com/1276858
bugzilla.suse.com/1276859
bugzilla.suse.com/1276862
suse.com/security/cve/CVE-2026-59183
suse.com/security/cve/CVE-2026-59184
suse.com/security/cve/CVE-2026-59186
suse.com/security/cve/CVE-2026-59189
suse.com/security/cve/CVE-2026-59981
suse.com/security/cve/CVE-2026-59982
suse.com/security/cve/CVE-2026-59983
suse.com/security/cve/CVE-2026-59984
suse.com/security/cve/CVE-2026-59985
suse.com/security/cve/CVE-2026-61555
suse.com/security/cve/CVE-2026-68515
suse.com/support/update/announcement/2026/suse-su-20264003-1
suse.com/support/update/announcement/2026/suse-su-20264005-1
ubuntu.com/security/CVE-2026-59186
suse.com/security/cve/CVE-2026-59187
suse.com/security/cve/CVE-2026-61703
suse.com/security/cve/CVE-2026-62986
suse.com/security/cve/CVE-2026-65979
suse.com/security/cve/CVE-2026-68513
suse.com/security/cve/CVE-2026-68514
suse.com/security/cve/CVE-2026-68516
Left out here: the rest of 1 source description. The JSON record has them.