OpenEXR has a misaligned write in LossyDctDecoder_execute leading to undefined behavior (DWA/DWAB decompression) (AcademySoftwareFoundation openexr)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.28 % · percentile 21 ()
- 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.2.0 to before 3.2.7, 3.3.9, and 3.4.9, a misaligned memory write vulnerability exists in LossyDctDecoder_execute() in src/lib/OpenEXRCore/internal_dwa_decoder.h:749. When decoding a DWA or DWAB-compressed EXR file containing a FLOAT-type channel, the decoder performs an in-place HALF→FLOAT conversion by casting an unaligned uint8_t * row pointer to float * and writing through it. Because the row buffer may not be 4-byte aligned, this constitutes undefined behavior under the C standard and crashes immediately on architectures that enforce alignment (ARM, RISC-V, etc.). On x86 it is silently tolerated at runtime but remains exploitable via compiler optimizations that assume aligned access. This vulnerability is fixed in 3.2.7, 3.3.9, and 3.4.9.
Weaknesses (CWE)
- CWE-704 — Incorrect Type Conversion or Cast
- CWE-787 — Out-of-bounds Write
- CWE-843 — Access of Resource Using Incompatible Type
- CWE-475 — Undefined Behavior for Input to API
References
- https://github.com/AcademySoftwareFoundation/openexr/security/advisories/GHSA-w88v-vqhq-5p24
- 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-34379
- https://bugzilla.redhat.com/show_bug.cgi?id=2455402
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-34379.json
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H | GitHub_M |
| CVSS 3.1 | HIGH 7.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H | redhat-SADP |
| CVSS 3.1 | HIGH 7.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | HIGH 7.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H | NVD · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c (Secondary) |
European references
- ENISA EUVD · EUVD-2026-19305
- GCVE · GCVE-0-2026-34379
Affected configurations (NVD CPE)
cpe:2.3:a:openexr:openexr:*:*:*:*:*:*:*:*≥ 3.2.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.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 |