CVE-2026-54920
Received Received - Intake

Heap Overflow in OpenEXR HTJ2K Decoding

Vulnerability report for CVE-2026-54920, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-25

Last updated on: 2026-08-25

Assigner: GitHub, Inc.

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.12, a reachable assertion failure in the HTJ2K decode path allows a crafted HTJ2K-compressed EXR file to cause an unconditional process abort in any application that calls exr_start_read() on untrusted input, resulting in denial of service. The crash is triggered by a QCD marker whose lower five bits are zero, which OpenEXR passes into the vendored OpenJPH library while constructing the codestream and evaluating its quantization delta parameters. OpenJPH uses an assertion rather than a recoverable error to validate those bits, so any invalid value calls abort() directly and cannot be intercepted by surrounding error handling, a problem compounded by OpenEXR wrapping only its internal HT header parser in error handling while leaving the later codestream read and construction calls unprotected. This issue has been resolved in version 3.4.13.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-25
Last Modified
2026-08-25
Generated
2026-08-25
AI Q&A
2026-08-25
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
academysoftwarefoundation openexr From 3.4.0 (inc) to 3.4.12 (inc)
academysoftwarefoundation openexr 3.4.13
academysoftwarefoundation openexrutil *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-190 The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
CWE-824 The product accesses or uses a pointer that has not been initialized.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-54920 is a vulnerability in OpenEXR versions 3.4.0 through 3.4.12 affecting the HTJ2K decode path. A crafted HTJ2K-compressed EXR file can trigger a reachable assertion failure, causing an unconditional process abort via exr_start_read() on untrusted input. This leads to denial of service.

Impact Analysis

The vulnerability allows attackers to crash applications processing untrusted EXR files by providing maliciously crafted HTJ2K-compressed data. This results in denial of service, terminating the application without further impact.

Compliance Impact

This vulnerability primarily causes a denial-of-service condition through process crashes, which may impact availability of systems processing EXR files. For GDPR, this could affect data availability requirements under Article 32. For HIPAA, it may impact access to critical imaging data in healthcare systems. However, the specific compliance impact depends on system context and mitigations.

Mitigation Strategies

Upgrade OpenEXR to version 3.4.13 or later to address the reachable assertion failure in the HTJ2K decode path. This version resolves the issue where crafted HTJ2K-compressed EXR files could cause denial of service.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-54920. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart