Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-53532

CVE-2026-53532: OpenEXR HTJ2K-Compressed DOS Vulnerability

CVE-2026-53532 is a denial of service vulnerability in OpenEXR versions 3.4.0 through 3.4.12 caused by crafted HTJ2K-compressed EXR files. This article covers the technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-53532 Overview

CVE-2026-53532 is a denial of service vulnerability in OpenEXR, the reference implementation for the EXR image format used throughout the motion picture industry. Affected versions 3.4.0 through 3.4.12 abort unconditionally when parsing a crafted HTJ2K-compressed EXR file. Any application calling exr_start_read() on untrusted input will terminate via an unrecoverable abort() inside the vendored OpenJPH library. The issue is classified as a reachable assertion [CWE-617] and is resolved in OpenEXR 3.4.13.

Critical Impact

A single crafted EXR file terminates any process that opens it, breaking pipelines, render farms, thumbnail services, and web handlers that ingest untrusted image data.

Affected Products

  • OpenEXR 3.4.0 through 3.4.12
  • Applications and services statically or dynamically linked against affected OpenEXR versions
  • Media processing pipelines that call exr_start_read() on untrusted input

Discovery Timeline

  • 2026-08-24 - CVE-2026-53532 published to NVD
  • 2026-08-24 - Last updated in NVD database

Technical Details for CVE-2026-53532

Vulnerability Analysis

The defect occurs when OpenEXR decodes an HTJ2K (High-Throughput JPEG 2000) compressed EXR file. During codestream parsing, OpenEXR passes marker data into the vendored OpenJPH library to construct the codestream and evaluate quantization delta parameters. A crafted QCD (Quantization Default) marker whose lower five bits are zero reaches OpenJPH's validation logic, which enforces the invariant with an assertion rather than a recoverable error path. The assertion invokes abort() directly, terminating the entire host process.

OpenEXR compounds the exposure by wrapping only its internal HT header parser in error handling. The subsequent codestream read and construction calls execute without protection, so exceptions or error codes from lower layers cannot be intercepted. Callers of exr_start_read() therefore have no opportunity to catch the failure and continue operating.

Root Cause

The root cause is the misuse of an assertion for input validation on attacker-controlled data. OpenJPH treats an invalid QCD parameter as a programmer error rather than a malformed-input condition. Combined with OpenEXR's incomplete error-handling wrapper around HTJ2K codestream operations, the assertion becomes reachable from any untrusted EXR file.

Attack Vector

An attacker delivers a crafted EXR file to any application built on OpenEXR 3.4.0 through 3.4.12. The vulnerability requires user interaction (opening or processing the file), but automated pipelines that scan, transcode, or thumbnail user-uploaded EXR images trigger the crash without direct user action. The process aborts immediately, producing a denial of service against media servers, batch renderers, and desktop applications. Refer to the GitHub Security Advisory GHSA-2f85-52wj-hc3c for advisory details.

Detection Methods for CVE-2026-53532

Indicators of Compromise

  • Unexpected SIGABRT termination of processes that read EXR files, especially services handling user-supplied media.
  • Core dumps with stack frames inside OpenJPH quantization parsing or exr_start_read().
  • Repeated crash-restart cycles in render, transcoding, or thumbnail workers correlated with specific input files.

Detection Strategies

  • Inventory applications linking OpenEXR and identify versions between 3.4.0 and 3.4.12 using software composition analysis.
  • Hunt for EXR files uploaded to shared storage or content pipelines that reliably crash decoders during processing.
  • Correlate application abort events with recent EXR ingestion in centralized logs to surface exploitation attempts.

Monitoring Recommendations

  • Alert on abort() or SIGABRT exits from image-processing services and render nodes.
  • Track file-format telemetry for HTJ2K-compressed EXR inputs from untrusted sources.
  • Monitor crash-loop restarts of container workloads that decode user-supplied images.

How to Mitigate CVE-2026-53532

Immediate Actions Required

  • Upgrade OpenEXR to version 3.4.13 or later across all systems and container images.
  • Rebuild and redeploy applications that statically link OpenEXR to pick up the fixed library.
  • Restrict acceptance of EXR files from untrusted sources until patched versions are deployed.

Patch Information

The issue is resolved in OpenEXR 3.4.13. Release notes and source are available at the OpenEXR v3.4.13 release. Downstream distributions and container base images should be updated to include the patched library.

Workarounds

  • Isolate EXR decoding in a sandboxed worker process so that an abort() does not terminate the parent service.
  • Pre-filter uploads to reject or quarantine EXR files that use HTJ2K compression until the library is upgraded.
  • Apply supervisor-level restart policies to contain crash-based denial of service against production pipelines.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.