{"id":"CVE-2026-54920","aliases":["AZL-97620","BELL-CVE-2026-54920","CLSA-2026-1792627161","CLSA-2026-1792628290","DEBIAN-CVE-2026-54920","EUVD-2026-65182","GHSA-fp75-87pr-8329","SUSE-SU-2026:22653-1","SUSE-SU-2026:3168-1","SUSE-SU-2026:3169-1","UBUNTU-CVE-2026-54920","openSUSE-SU-2026:11218-1","openSUSE-SU-2026:21336-1"],"status":"published","title":"OpenEXR: Integer overflow and uninitialized pointer cause invalid delete in OpenEXRUtil image resize","description":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.4.0 through 3.4.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.","severity":{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N","level":"none","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00356,"percentile":0.29601,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-190","CWE-824"],"published":"2026-07-08T00:00:00Z","modified":"2026-11-11T07:00:12Z","fixes":[{"ecosystem":"Alpaquita:stream","package":"openexr","fixed_in":["3.4.13-r0"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"openexr","fixed_in":["3.2.12-1~deb13u1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"openexr","fixed_in":["3.4.14-0.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5","package":"openexr","fixed_in":["2.1.0-6.48.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Azure Linux:3","package":"OpenEXR","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.3.0-6"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.4.4-r0"},{"fixed":"3.4.13-r0"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.1-3.el9.tuxcare.els11"}]}],"bundled":11},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"openexr-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.1-3.el9.tuxcare.els11"}]}],"bundled":11},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.2","package":"openexr-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.1-3.el9.tuxcare.els11"}]}],"bundled":11},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.1-3.el9.tuxcare.els11"}]}],"bundled":11},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"openexr-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.1-3.el9.tuxcare.els11"}]}],"bundled":11},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"openexr-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.1.1-3.el9.tuxcare.els11"}]}],"bundled":11},{"source":"osv","ecosystem":"Debian:12","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.13-1","3.1.13-2","3.1.5-5","3.1.5-5.1","3.1.5-5.1+hurd.1","3.2.12-1~deb13u1","3.4.14-0.1","3.4.15+ds-1","3.4.16+ds-1","3.4.6+ds-1","3.4.6+ds-2","3.4.6+ds-3","3.4.6+ds-4","3.5.2+ds-1"]},{"source":"osv","ecosystem":"Debian:13","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.12-1~deb13u1"}]}],"versions":["3.1.13-2"]},{"source":"osv","ecosystem":"Debian:14","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.14-0.1"}]}],"versions":["3.1.13-2","3.2.12-1~deb13u1","3.4.6+ds-1","3.4.6+ds-2","3.4.6+ds-3","3.4.6+ds-4"]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2-160000.9.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2-160000.9.1"}]}],"bundled":3},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.0-6.48.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Desktop Applications 15 SP7","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.1-150000.3.52.1"}]}],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.2.0-1ubuntu3","2.2.0-7ubuntu1","2.2.0-9ubuntu1","2.2.0-10ubuntu2","2.2.0-10ubuntu2.1","2.2.0-10ubuntu2.2","2.2.0-10ubuntu2.3","2.2.0-10ubuntu2.4","2.2.0-10ubuntu2.6","2.2.0-10ubuntu2.6+esm1","2.2.0-10ubuntu2.6+esm2","2.2.0-10ubuntu2.6+esm3","2.2.0-10ubuntu2.6+esm4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.2.0-11ubuntu1","2.2.0-11.1ubuntu1","2.2.0-11.1ubuntu1.1","2.2.0-11.1ubuntu1.2","2.2.0-11.1ubuntu1.3","2.2.0-11.1ubuntu1.4","2.2.0-11.1ubuntu1.6","2.2.0-11.1ubuntu1.7","2.2.0-11.1ubuntu1.8","2.2.0-11.1ubuntu1.9","2.2.0-11.1ubuntu1.9+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.2.1-4.1ubuntu1","2.3.0-6","2.3.0-6build1","2.3.0-6ubuntu0.1","2.3.0-6ubuntu0.2","2.3.0-6ubuntu0.3","2.3.0-6ubuntu0.5","2.3.0-6ubuntu0.5+esm1","2.3.0-6ubuntu0.5+esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.4-2","2.5.7-1","2.5.7-1ubuntu0.1~esm1","2.5.7-1ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.5-5.1","3.1.5-5.1build1","3.1.5-5.1build2","3.1.5-5.1build3","3.1.5-5.1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.13-2build1","3.4.6+ds-4ubuntu3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.13-2","3.1.13-2build1","3.1.13-2ubuntu0.26.04.1~esm1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.13-1.1"}]}],"bundled":5},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"openexr","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2-160000.9.1"}]}],"bundled":3}],"products":[{"vendor":"academysoftwarefoundation","product":"openexr"}],"references":[{"url":"https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-fp75-87pr-8329","tags":["x_refsource_CONFIRM","exploit","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54920","tags":["web","advisory"]},{"url":"https://docs.bell-sw.com/security/cves/CVE-2026-54920","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/almalinux9.2esu/CLSA-2026-1792627161.html","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55059","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55373","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59183","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59184","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59186","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59189","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59981","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59983","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59984","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61555","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/tuxcare9.6esu/CLSA-2026-1792628290.html","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54920.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-54920","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202622653-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1269701","tags":["report"]},{"url":"https://bugzilla.suse.com/1269702","tags":["report"]},{"url":"https://bugzilla.suse.com/1269703","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-54920","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55059","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55373","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263168-1/","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263169-1/","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-54920","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-54920","tags":["report"]},{"url":"https://github.com/academysoftwarefoundation/openexr/security/advisories/ghsa-fp75-87pr-8329","tags":["report"]},{"url":"https://github.com/cveproject/cvelistv5/tree/main/cves/2026/54xxx/cve-2026-54920.json","tags":["report"]},{"url":"https://nvd.nist.gov/vuln/detail/cve-2026-54920","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-53532","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55371","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-54920","title":"OpenEXR: Integer overflow and uninitialized pointer cause invalid delete in OpenEXRUtil image resize","description":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.4.0 through 3.4.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.","status":"published","published":"2026-08-25T00:10:39.077Z","modified":"2026-08-25T15:17:34.384Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N","level":"none","assessor":"cna"}],"cwes":["CWE-190","CWE-824"],"updated_at":"2026-11-02T13:38:09.774038Z"}],"euvd":[{"id":"EUVD-2026-65182","description":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.4.0 through 3.4.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.","status":"published","published":"2026-08-25T00:10:39Z","modified":"2026-08-25T15:17:34Z","updated_at":"2026-11-02T18:01:32.513581Z"}],"nvd":[{"id":"CVE-2026-54920","description":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.4.0 through 3.4.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.","status":"published","published":"2026-08-25T01:16:36.29Z","modified":"2026-10-12T15:10:00.207Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N","level":"none","assessor":"secondary"}],"cwes":["CWE-190","CWE-824"],"updated_at":"2026-11-02T14:12:41.018848Z"}],"osv":[{"id":"BELL-CVE-2026-54920","status":"published","published":"2026-08-27T06:10:26.62449Z","modified":"2026-09-05T07:15:05.892221563Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N","level":"none"}],"updated_at":"2026-11-02T15:28:24.657778Z"},{"id":"CVE-2026-54920","title":"OpenEXR: Integer overflow and uninitialized pointer cause invalid delete in OpenEXRUtil image resize","description":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.4.0 through 3.4.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.","status":"published","published":"2026-08-25T00:10:39.077Z","modified":"2026-10-28T02:30:59.731561488Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N","level":"none"}],"cwes":["CWE-190","CWE-824"],"updated_at":"2026-11-02T15:45:11.22012Z"},{"id":"DEBIAN-CVE-2026-54920","description":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.4.0 through 3.4.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.","status":"published","published":"2026-08-25T01:16:36.29Z","modified":"2026-11-11T07:00:12.873326877Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N","level":"none"}],"updated_at":"2026-11-11T07:25:41.918486Z"},{"id":"UBUNTU-CVE-2026-54920","description":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.4.0 through 3.4.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.","status":"published","published":"2026-08-25T01:16:00Z","modified":"2026-10-17T12:59:07.13029135Z","cvss":[{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N","level":"none"},{"version":"3.1","score":0,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N","level":"none"}],"updated_at":"2026-11-02T16:56:41.382716Z"},{"id":"AZL-97620","title":"CVE-2026-54920 affecting package OpenEXR 2.3.0-6","description":"OpenEXR is the reference implementation and specification for the EXR image format, widely used in the motion picture industry. In versions 3.4.0 through 3.4.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.","status":"published","published":"2026-08-25T01:16:36Z","modified":"2026-10-22T05:37:13Z","updated_at":"2026-11-02T15:28:12.313414Z"},{"id":"CLSA-2026-1792627161","title":"openexr: Fix of 11 CVEs","description":"- CVE-2026-54920: validate the data window and pre-initialise every level\n  pointer in OpenEXRUtil Image::resize(), so an overflowing level size no\n  longer leaves clearLevels() deleting uninitialised ImageLevel pointers\n- CVE-2026-55059: map the row index with dataWindow.min.y instead of min.x in\n  SampleCountChannel::set(int, unsigned int[]) and bounds-check the per-pixel\n  setter, so a valid row no longer writes before the sample-count buffer\n- CVE-2026-55373: reject sample counts above 0x80000000 in roundListSizeUp(),\n  so the unsigned shift loop can no longer wrap to zero and spin forever\n- CVE-2026-59183: widen the chunk width, height and row index to int64_t in\n  unpack_sample_table(), so a large deep tile no longer overflows the\n  sample-table index arithmetic and reads unmapped memory\n- CVE-2026-59184: index the TypedFlatImageChannel row() accessors from the\n  compact _pixels array instead of the absolute-coordinate _base pointer, so\n  writing rows of an image with a non-zero data window origin no longer\n  writes outside the pixel buffer\n- CVE-2026-59186: validate Array/Array2D dimensions and compute the Array2D\n  element count in 64-bit arithmetic, so an oversized tile no longer\n  under-allocates the Rgba conversion buffer on ILP32 builds\n- CVE-2026-59189: index the TypedDeepImageChannel row() accessors from the\n  compact _sampleListPointers array instead of the absolute-coordinate _base\n  pointer, so reading rows of a deep image with a non-zero data window origin\n  no longer reads outside the sample-list pointer buffer\n- CVE-2026-59981: index SampleCountChannel::row() from the compact _numSamples\n  array instead of the absolute-coordinate _base pointer, so row(0) stays\n  inside the allocation for a deep image with a non-zero data window origin\n- CVE-2026-59983: compute the deep sample-count table size in uint64_t and\n  reject a truncating conversion in update_pack_unpack_ptrs(), so an ILP32\n  build no longer allocates a wrapped-to-zero table\n- CVE-2026-59984: reject a scratch-buffer size that does not survive the\n  conversion to size_t in internal_exr_undo_b44() and internal_exr_undo_b44a(),\n  so B44/B44A decode no longer writes past a truncated ILP32 allocation\n- CVE-2026-61555: return defaultViewName() instead of multiView[0] in\n  viewFromChannelName(), so a crafted empty multiView attribute no longer\n  indexes an empty vector","status":"published","published":"2026-10-21T23:59:41Z","modified":"2026-10-26T09:31:01.320079102Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"CLSA-2026-1792628290","title":"openexr: Fix of 11 CVEs","description":"- CVE-2026-54920: validate the data window and pre-initialise every level\n  pointer in OpenEXRUtil Image::resize(), so an overflowing level size no\n  longer leaves clearLevels() deleting uninitialised ImageLevel pointers\n- CVE-2026-55059: map the row index with dataWindow.min.y instead of min.x in\n  SampleCountChannel::set(int, unsigned int[]) and bounds-check the per-pixel\n  setter, so a valid row no longer writes before the sample-count buffer\n- CVE-2026-55373: reject sample counts above 0x80000000 in roundListSizeUp(),\n  so the unsigned shift loop can no longer wrap to zero and spin forever\n- CVE-2026-59183: widen the chunk width, height and row index to int64_t in\n  unpack_sample_table(), so a large deep tile no longer overflows the\n  sample-table index arithmetic and reads unmapped memory\n- CVE-2026-59184: index the TypedFlatImageChannel row() accessors from the\n  compact _pixels array instead of the absolute-coordinate _base pointer, so\n  writing rows of an image with a non-zero data window origin no longer\n  writes outside the pixel buffer\n- CVE-2026-59186: validate Array/Array2D dimensions and compute the Array2D\n  element count in 64-bit arithmetic, so an oversized tile no longer\n  under-allocates the Rgba conversion buffer on ILP32 builds\n- CVE-2026-59189: index the TypedDeepImageChannel row() accessors from the\n  compact _sampleListPointers array instead of the absolute-coordinate _base\n  pointer, so reading rows of a deep image with a non-zero data window origin\n  no longer reads outside the sample-list pointer buffer\n- CVE-2026-59981: index SampleCountChannel::row() from the compact _numSamples\n  array instead of the absolute-coordinate _base pointer, so row(0) stays\n  inside the allocation for a deep image with a non-zero data window origin\n- CVE-2026-59983: compute the deep sample-count table size in uint64_t and\n  reject a truncating conversion in update_pack_unpack_ptrs(), so an ILP32\n  build no longer allocates a wrapped-to-zero table\n- CVE-2026-59984: reject a scratch-buffer size that does not survive the\n  conversion to size_t in internal_exr_undo_b44() and internal_exr_undo_b44a(),\n  so B44/B44A decode no longer writes past a truncated ILP32 allocation\n- CVE-2026-61555: return defaultViewName() instead of multiView[0] in\n  viewFromChannelName(), so a crafted empty multiView attribute no longer\n  indexes an empty vector","status":"published","published":"2026-10-22T11:12:08Z","modified":"2026-10-26T09:31:36.614740641Z","updated_at":"2026-11-02T15:43:54.672859Z"},{"id":"openSUSE-SU-2026:11218-1","title":"libIex-3_4-33-3.4.13-1.1 on GA media","description":"These are all security issues fixed in the libIex-3_4-33-3.4.13-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-07-08T00:00:00Z","modified":"2026-07-09T10:00:13.439590855Z","updated_at":"2026-11-02T16:58:38.95195Z"},{"id":"openSUSE-SU-2026:21336-1","title":"Security update for openexr","description":"This update for openexr fixes the following issues\n\n- CVE-2026-54920: unchecked integer overflows in Image::resize() followed by an exception can lead to an invalid delete\n  via uninitialized pointers (bsc#1269703).\n- CVE-2026-55059: row setter utilizing dataWindow.min.x instead of min.y can lead to a heap out-of-bounds write\n  (bsc#1269702).\n- CVE-2026-55373: integer overflow in roundListSizeUp() wrapping a 32-bit unsigned value to zero can lead to an infinite\n  loop (bsc#1269701).\n","status":"published","published":"2026-07-14T08:47:36Z","modified":"2026-07-15T10:00:12.798907343Z","updated_at":"2026-11-02T16:58:41.885092Z"},{"id":"SUSE-SU-2026:22653-1","title":"Security update for openexr","description":"This update for openexr fixes the following issues\n\n- CVE-2026-54920: unchecked integer overflows in Image::resize() followed by an exception can lead to an invalid delete\n  via uninitialized pointers (bsc#1269703).\n- CVE-2026-55059: row setter utilizing dataWindow.min.x instead of min.y can lead to a heap out-of-bounds write\n  (bsc#1269702).\n- CVE-2026-55373: integer overflow in roundListSizeUp() wrapping a 32-bit unsigned value to zero can lead to an infinite\n  loop (bsc#1269701).\n","status":"published","published":"2026-07-14T08:39:20Z","modified":"2026-07-17T18:24:05.421132293Z","updated_at":"2026-11-02T15:54:03.080707Z"},{"id":"SUSE-SU-2026:3168-1","title":"Security update for openexr","description":"This update for openexr fixes the following issue\n\n- CVE-2026-54920: unchecked integer overflows in Image::resize() followed by an exception can lead to an invalid delete\n  via uninitialized pointers (bsc#1269703).\n","status":"published","published":"2026-07-21T18:44:49Z","modified":"2026-07-22T18:00:05.704503967Z","updated_at":"2026-11-02T15:54:04.987808Z"},{"id":"SUSE-SU-2026:3169-1","title":"Security update for openexr","description":"This update for openexr fixes the following issues\n\n- CVE-2026-54920: unchecked integer overflows in Image::resize() followed by an exception can lead to an invalid delete\n  via uninitialized pointers (bsc#1269703).\n- CVE-2026-55059: row setter utilizing dataWindow.min.x instead of min.y can lead to a heap out-of-bounds write\n  (bsc#1269702).\n- CVE-2026-55373: integer overflow in roundListSizeUp() wrapping a 32-bit unsigned value to zero can lead to an infinite\n  loop (bsc#1269701).\n","status":"published","published":"2026-07-21T18:45:08Z","modified":"2026-07-22T18:00:05.79339237Z","updated_at":"2026-11-02T15:54:04.987808Z"}]}}
