CVE-2026-44663: OpenEXR: Integer overflow in the HTJ2K decoder leads to heap-buffer-overflow
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.11, an integer overflow in htundoimpl() in src/lib/OpenEXRCore/internalht.cpp leads to a heap-buffer overflow when decoding a crafted HTJ2K-compressed EXR file. decode->channels[i].width (int32t) is multiplied by bytesperelement in 32-bit signed arithmetic. With large widths (e.g., >= 536870912 for FLOAT data), this overflows, producing a corrupted offset that is later used for pointer arithmetic and can cause a heap out-of-bounds write. The same unchecked multiplication pattern appears in two other HTJ2K paths (bytes-per-line accumulation and pixel-line pointer advancement). As with related CVE-2026-34378 through CVE-2026-34589 fixes in other codecs, validating only after the multiplication is too late because the value may already be overflowed. This issue has been fixed in version 3.4.12.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
OpenEXRto a version that resolves this vulnerability.Fixed in 3.4.12
Event History
Frequently Asked Questions
What is the severity of CVE-2026-44663?
The severity of CVE-2026-44663 is rated as medium with a score of 6.1.
How do I fix CVE-2026-44663?
To fix CVE-2026-44663, upgrade OpenEXR to version 3.4.12 or later.
What causes the vulnerability in CVE-2026-44663?
CVE-2026-44663 is caused by an integer overflow in the HTJ2K decoder that results in a heap-buffer overflow.
Which versions of OpenEXR are affected by CVE-2026-44663?
OpenEXR versions 3.4.0 through 3.4.11 are affected by CVE-2026-44663.
What is the impact of CVE-2026-44663 on software using OpenEXR?
The impact of CVE-2026-44663 includes potential exploitation through a heap-buffer overflow during the decoding of crafted HTJ2K images.