CVE-2026-45696: CWE-122: Heap-based Buffer Overflow in AcademySoftwareFoundation openexr
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, the HTJ2K (High-Throughput JPEG 2000) decoder, ht_undo_impl() in OpenEXRCore is vulnerable to a heap-buffer-overflow READ. The ht_undo_imp function copies decoded pixels out of a per-line OpenJPH buffer using the EXR channel's declared width as the iteration count. The codestream embedded in the EXR chunk can declare different (smaller) tile/line dimensions than the EXR header advertises, but ht_undo_impl() does not validate this — it pulls width 32-bit samples from cur_line->i32[] without checking the OpenJPH line buffer's actual length. A crafted EXR file produces a 4-byte heap-buffer-overflow READ immediately after a buffer allocated by ojph::local::codestream::finalize_alloc(). The bug is reachable through the standard scanline-decode entry point used by every consumer of exr_decoding_run/Imf::checkOpenEXRFile, including thumbnailers, asset pipelines, and the exrcheck utility — i.e. any application that opens untrusted EXR files. The result is a deterministic crash (DoS) and potential adjacent-heap leak. This issue has been fixed in version 3.4.12.
AI Analysis
Technical Summary
OpenEXR, a widely used image format implementation, contains a heap-buffer-overflow read vulnerability in the HTJ2K decoder's ht_undo_impl() function in versions 3.4.0 through 3.4.11. The function copies decoded pixels based on the EXR channel's declared width without validating that this width matches the actual buffer size from the embedded codestream. A crafted EXR file can exploit this mismatch to cause a 4-byte heap-buffer-overflow read immediately after a buffer allocated by the codestream's finalize_alloc() method. This vulnerability is reachable through standard scanline decode entry points used by all consumers of exr_decoding_run and related utilities. The flaw can cause deterministic crashes and potential adjacent heap memory leaks. The issue is addressed in version 3.4.12.
Potential Impact
The vulnerability allows an attacker to cause a deterministic crash (denial of service) and potentially leak adjacent heap memory by supplying a specially crafted EXR file to any application using the vulnerable OpenEXR versions. This affects thumbnailers, asset pipelines, and utilities that decode EXR files. There is no indication of remote code execution or privilege escalation from the provided data.
Mitigation Recommendations
A fix is available in OpenEXR version 3.4.12. Users and organizations should upgrade to version 3.4.12 or later to remediate this vulnerability. There is no vendor advisory indication of alternative mitigations or that no action is required. Patch status is confirmed by the CVE description stating the issue is fixed in 3.4.12.
CVE-2026-45696: CWE-122: Heap-based Buffer Overflow in AcademySoftwareFoundation openexr
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.11, the HTJ2K (High-Throughput JPEG 2000) decoder, ht_undo_impl() in OpenEXRCore is vulnerable to a heap-buffer-overflow READ. The ht_undo_imp function copies decoded pixels out of a per-line OpenJPH buffer using the EXR channel's declared width as the iteration count. The codestream embedded in the EXR chunk can declare different (smaller) tile/line dimensions than the EXR header advertises, but ht_undo_impl() does not validate this — it pulls width 32-bit samples from cur_line->i32[] without checking the OpenJPH line buffer's actual length. A crafted EXR file produces a 4-byte heap-buffer-overflow READ immediately after a buffer allocated by ojph::local::codestream::finalize_alloc(). The bug is reachable through the standard scanline-decode entry point used by every consumer of exr_decoding_run/Imf::checkOpenEXRFile, including thumbnailers, asset pipelines, and the exrcheck utility — i.e. any application that opens untrusted EXR files. The result is a deterministic crash (DoS) and potential adjacent-heap leak. This issue has been fixed in version 3.4.12.
CVSS v4.0
Score 8.3high
Affected software
pkg:github/academysoftwarefoundation/openexrRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
OpenEXR, a widely used image format implementation, contains a heap-buffer-overflow read vulnerability in the HTJ2K decoder's ht_undo_impl() function in versions 3.4.0 through 3.4.11. The function copies decoded pixels based on the EXR channel's declared width without validating that this width matches the actual buffer size from the embedded codestream. A crafted EXR file can exploit this mismatch to cause a 4-byte heap-buffer-overflow read immediately after a buffer allocated by the codestream's finalize_alloc() method. This vulnerability is reachable through standard scanline decode entry points used by all consumers of exr_decoding_run and related utilities. The flaw can cause deterministic crashes and potential adjacent heap memory leaks. The issue is addressed in version 3.4.12.
Potential Impact
The vulnerability allows an attacker to cause a deterministic crash (denial of service) and potentially leak adjacent heap memory by supplying a specially crafted EXR file to any application using the vulnerable OpenEXR versions. This affects thumbnailers, asset pipelines, and utilities that decode EXR files. There is no indication of remote code execution or privilege escalation from the provided data.
Mitigation Recommendations
A fix is available in OpenEXR version 3.4.12. Users and organizations should upgrade to version 3.4.12 or later to remediate this vulnerability. There is no vendor advisory indication of alternative mitigations or that no action is required. Patch status is confirmed by the CVE description stating the issue is fixed in 3.4.12.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-05-13T04:38:01.164Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
- Vendor Advisory Urls
- [{"url":"https://access.redhat.com/security/cve/CVE-2026-45696","vendor":"Red Hat"}]
Threat ID: 6a346115f198dc38c1910c5d
Added to database: 06/18/2026, 21:20:21 UTC
Last enriched: 07/15/2026, 09:23:22 UTC
Last updated: 08/01/2026, 07:18:00 UTC
Views: 94
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.