OpenEXR has a signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write (AcademySoftwareFoundation openexr)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.48 % · percentile 42 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Modified
Description
OpenEXR provides the specification and reference implementation of the EXR file format, an image storage format for the motion picture industry. From 3.1.0 to before 3.2.7, 3.3.9, and 3.4.9, internal_exr_undo_piz() advances the working wavelet pointer with signed 32-bit arithmetic. Because nx, ny, and wcount are int, a crafted EXR file can make this product overflow and wrap. The next channel then decodes from an incorrect address. The wavelet decode path operates in place, so this yields both out-of-bounds reads and out-of-bounds writes. This vulnerability is fixed in 3.2.7, 3.3.9, and 3.4.9.
Weaknesses (CWE)
References
- https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-588r-cr5c-w6hf
- https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.2.7
- https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.3.9
- https://github.com/AcademySoftwareFoundation/openexr/releases/tag/v3.4.9
- https://access.redhat.com/security/cve/CVE-2026-34588
- https://bugzilla.redhat.com/show_bug.cgi?id=2455408
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-34588.json
- https://access.redhat.com/errata/RHSA-2026:17656
- https://access.redhat.com/errata/RHSA-2026:15888
- https://access.redhat.com/errata/RHSA-2026:19146
- https://access.redhat.com/errata/RHSA-2026:19587
- https://access.redhat.com/errata/RHSA-2026:17659
- https://access.redhat.com/errata/RHSA-2026:17658
- https://access.redhat.com/errata/RHSA-2026:17660
- https://access.redhat.com/errata/RHSA-2026:15887
- https://access.redhat.com/errata/RHSA-2026:19359
- https://access.redhat.com/errata/RHSA-2026:30078
- https://access.redhat.com/errata/RHSA-2026:30089
- https://access.redhat.com/errata/RHSA-2026:30088
- https://access.redhat.com/errata/RHSA-2026:30087
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 4.0 | HIGH 8.6 | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N | GitHub_M |
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | redhat-SADP |
| CVSS 4.0 | HIGH 8.6 | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | NVD · nvd@nist.gov (Primary) |
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | NVD · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c (Secondary) |
Advisories
- GHSA-588r-cr5c-w6hf — OpenEXR has a signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write
- PYSEC-2026-2845 — OpenEXR has a signed 32-bit Overflow in PIZ Decoder Leads to OOB Read/Write
European references
- ENISA EUVD · EUVD-2026-19347
- GCVE · GCVE-0-2026-34588
Affected configurations (NVD CPE)
cpe:2.3:a:openexr:openexr:*:*:*:*:*:*:*:*≥ 3.1.0 < 3.2.7cpe:2.3:a:openexr:openexr:*:*:*:*:*:*:*:*≥ 3.3.0 < 3.3.9cpe:2.3:a:openexr:openexr:*:*:*:*:*:*:*:*≥ 3.4.0 < 3.4.9
Affected products
| Product | Versions |
|---|---|
| AcademySoftwareFoundation · openexr | affected >= 3.1.0, <= 3.1.13 ; affected >= 3.2.0, < 3.2.7 ; affected >= 3.3.0, < 3.3.9 ; affected >= 3.4.0, < 3.4.9 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |