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 s
- Products
- openexr, openexr-devel, openexr-libs
- Affected versions
- Not specified
- Fixed versions
- 3.1.1-3.el9.tuxcare.els11
- CVEs
- CVE-2026-54920, CVE-2026-55059, CVE-2026-55373, CVE-2026-59183, CVE-2026-59184, CVE-2026-59186, CVE-2026-59189, CVE-2026-59981, CVE-2026-59983, CVE-2026-59984, CVE-2026-61555
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 10:56 UTC · Revision 1
Source evidence
- 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 s
osv:CLSA-2026-1792628290
openexr
Fixed versions: 3.1.1-3.el9.tuxcare.els11
openexr-devel
Fixed versions: 3.1.1-3.el9.tuxcare.els11
openexr-libs
Fixed versions: 3.1.1-3.el9.tuxcare.els11
Complete source record
{
"id": "79be39cc477e4fd32b4597f8b35c9c22c71793a88307584ce4de18e0ffc193c5",
"url": "https://osv.dev/vulnerability/CLSA-2026-1792628290",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "openexr: Fix of 11 CVEs",
"summary": "- 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 s",
"evidence": "osv:CLSA-2026-1792628290",
"products": [
{
"name": {
"value": "openexr",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.1.1-3.el9.tuxcare.els11",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "openexr-devel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.1.1-3.el9.tuxcare.els11",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "openexr-libs",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.1.1-3.el9.tuxcare.els11",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CLSA-2026-1792628290",
"aliases": [
"CLSA-2026-1792628290"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.1.1-3.el9.tuxcare.els11"
}
]
}
],
"package": {
"name": "openexr",
"purl": "pkg:rpm/tuxcare/openexr?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1792628290.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.1.1-3.el9.tuxcare.els11"
}
]
}
],
"package": {
"name": "openexr-devel",
"purl": "pkg:rpm/tuxcare/openexr-devel?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1792628290.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.1.1-3.el9.tuxcare.els11"
}
]
}
],
"package": {
"name": "openexr-libs",
"purl": "pkg:rpm/tuxcare/openexr-libs?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1792628290.json"
}
}
],
"modified": "2026-10-26T09:31:36.614740641Z",
"provider": "osv",
"upstream": [
"CVE-2026-54920",
"CVE-2026-55059",
"CVE-2026-55373",
"CVE-2026-59183",
"CVE-2026-59184",
"CVE-2026-59186",
"CVE-2026-59189",
"CVE-2026-59981",
"CVE-2026-59983",
"CVE-2026-59984",
"CVE-2026-61555"
],
"references": [
"https://errata.tuxcare.com/els_os/tuxcare9.6esu/CLSA-2026-1792628290.html",
"https://nvd.nist.gov/vuln/detail/CVE-2026-54920",
"https://nvd.nist.gov/vuln/detail/CVE-2026-55059",
"https://nvd.nist.gov/vuln/detail/CVE-2026-55373",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59183",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59184",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59186",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59189",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59981",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59983",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59984",
"https://nvd.nist.gov/vuln/detail/CVE-2026-61555"
]
},
"related_cves": [
{
"value": "CVE-2026-54920",
"evidence": "/upstream"
},
{
"value": "CVE-2026-55059",
"evidence": "/upstream"
},
{
"value": "CVE-2026-55373",
"evidence": "/upstream"
},
{
"value": "CVE-2026-59183",
"evidence": "/upstream"
},
{
"value": "CVE-2026-59184",
"evidence": "/upstream"
},
{
"value": "CVE-2026-59186",
"evidence": "/upstream"
},
{
"value": "CVE-2026-59189",
"evidence": "/upstream"
},
{
"value": "CVE-2026-59981",
"evidence": "/upstream"
},
{
"value": "CVE-2026-59983",
"evidence": "/upstream"
},
{
"value": "CVE-2026-59984",
"evidence": "/upstream"
},
{
"value": "CVE-2026-61555",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 447833,
"published_at": "2026-10-22T11:12:08+00:00"
}