CVE-2026-54920

OpenEXR: Integer overflow and uninitialized pointer cause invalid delete in OpenEXRUtil image resize

Published Aug 25, 2026 CVSS 3.1 · 0 Low EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical impact

OpenEXR versions 3.4.0 through 3.4.12 contain a flaw in the HTJ2K decoding path that allows a maliciously crafted HTJ2K‑compressed EXR file to trigger an assertion failure in the vendored OpenJPH library. This assertion causes the OpenEXR library to abort the process unconditionally, leading to a denial‑of‑service condition whenever an application calls exr_start_read on an untrusted input. The weakness stems from improper validation of quantization delta parameters (integer overflow) and an uninitialized pointer, which is covered by CWEs 190, 617, and 824.

Affected Systems

The issue affects the Academy Software Foundation’s OpenEXR library, specifically versions 3.4.0 through 3.4.12. OpenEXR is widely deployed in motion‑picture production pipelines and other imaging workflows that handle EXR files.

Risk and Exploitability

Although the EPSS score is less than 1% and the vulnerability is not listed in CISA’s KEV catalog, the nature of the flaw—an unconditional abort triggered by a crafted EXR file—implies a high impact denial of service. The CVSS score is not provided in the supplied data, but the criteria would place it in the high to critical range due to loss of availability in any application processing untrusted input. Because the issue is triggered by a file that can be supplied by an external actor, an attacker can easily deliver a malicious image to an application that calls exr_start_read, causing the process to terminate. The lack of a reported CVSS does not change the fact that the error path cannot be recovered, so organizations should treat this as a high‑priority problem even with a low EPSS.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to OpenEXR 3.4.13 or later, where the assertion path has been removed.
  • Remove or restrict the use of HTJ2K‑encoded EXR files in applications that cannot guarantee integrity of the source.
  • If upgrading is not immediately possible, isolate affected libraries and ensure they never process external input; fallback to a trusted parsing library or older OpenEXR release that does not support HTJ2K.

Generated by OpenCVE AI on August 26, 2026 at 03:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Academysoftwarefoundation
Academysoftwarefoundation openexr
Vendors & Products Academysoftwarefoundation
Academysoftwarefoundation openexr
Type Values Removed Values Added
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.
Title OpenEXR: Integer overflow and uninitialized pointer cause invalid delete in OpenEXRUtil image resize
Weaknesses CWE-190
CWE-824
References
Metrics cvssV3_1

{'score': 0, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N'}

Weaknesses
  • CWE-190

    Integer Overflow or Wraparound

  • CWE-617

    Reachable Assertion

  • CWE-824

    Access of Uninitialized Pointer

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 25, 2026, 3:17 PM
Reserved
Jun 16, 2026, 1:49 PM
Status
Deferred
Published
Aug 25, 2026, 1:16 AM
Modified
Oct 12, 2026, 3:10 PM
Severity
Moderate
Public date
Aug 25, 2026, 12:10 AM