Skip to main content

OpenEXR EUVDEUVD-2026-86273

| CVE-2026-88384 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-09-24 mitre GHSA-3cfr-j9gx-46w4
5.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft EXR with zero-dataSize unknown attribute
  2. Delivery
    Deliver file to victim pipeline/user
  3. Exploit
    Victim opens file in OpenEXR-based app
  4. Execution
    memcpy on NULL packed_data pointer
  5. Impact
    Process termination (denial of service)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the victim to open or otherwise parse an attacker-supplied .exr file using OpenEXR's C++ attribute-parsing path; the file must contain an unknown-type attribute with dataSize set to zero, which drives the OpaqueAttribute constructor to memcpy from a NULL packed_data pointer. Limiting factors: the vector is local (AV:L) and requires user interaction (UI:R) - the attacker cannot trigger it remotely without the target application ingesting the crafted file - and the impact is confined to crashing the parsing process (availability only, no code execution or data disclosure). Affects OpenEXR 3.4.14 per the description; fixed by the zero-size guard in PR #2615.

Impact

This is a low-to-moderate severity, availability-only issue. The provided CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, base 5.5) is internally consistent with the description: exploitation requires a local vector (a crafted .exr file must be parsed by the victim's application) and user interaction (opening/loading the file), and the only impact is process termination - a denial of service with no confidentiality or integrity loss. No EPSS score, CISA KEV entry, or public exploit code is present in the input, so exploitation status is 'no public exploit identified at time of analysis.' The single-null-check root cause is trivially understood from the public PR diff, which lowers the barrier to writing a crash PoC, but the practical impact is bounded: crashing an image parser is a nuisance-level DoS, not RCE. This is not a top-priority, mass-exploitation candidate; it is a routine memory-safety hardening fix best handled via normal patch cycles. Note the CPE and EUVD product/vendor fields are 'n/a', so affected-product enumeration must be derived from the description (OpenEXR) rather than structured metadata.

Exploit ScenarioDerived

An attacker crafts a malicious .exr file containing an unknown-type attribute whose dataSize field is set to zero, then delivers it to a victim (e.g., as an asset in a VFX/rendering pipeline, a downloaded texture, or an email attachment). When the victim's application uses OpenEXR to parse the file, the OpaqueAttribute constructor calls memcpy() with a NULL packed_data pointer and zero size, triggering undefined behavior and process termination. No public exploit code is identified, but the fix diff publicly reveals the exact trigger condition.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 24, 2026

Parsing a malformed OpenEXR image can terminate the host application: OpenEXR 3.4.14's C++ attribute parser constructs an OpaqueAttribute with a NULL packed_data pointer when an EXR file declares an unknown attribute type with dataSize set to zero, and the constructor forwards that NULL pointer to memcpy() without checking the zero-length case, triggering undefined behavior and a crash. The issue is local in vector terms (AV:L) and requires user interaction (UI:R) - an attacker must get the victim or an automated pipeline to open or otherwise ingest the crafted .exr file - and its impact is limited to availability (C:N/I:N/A:H, CVSS 5.5), with no code execution or data disclosure demonstrated. There is no KEV listing and no public exploit identified at time of analysis; the upstream fix is a guard in pull request #2615 rather than a confirmed tagged release.

RemediationAI

Apply the upstream fix: upgrade to a build of OpenEXR that includes pull request #2615 (change set 70ddecfe82d2566f3776b8ed923939afd47baca2), which adds 'dataSize > 0' guards before the memcpy calls in OpaqueAttribute's constructor, copy constructor, and copyValueFrom; note that no specific patched release tag was confirmed in the supplied data, so verify the version you install actually contains this commit rather than assuming from a version number alone. Patch status is therefore best described as an upstream fix available via PR/commit, with the released patched version not independently confirmed. If upgrading immediately is not possible, the practical compensating controls all target the attack precondition - ingesting an attacker-supplied file - rather than the defect itself: refuse to open EXR files from untrusted or user-supplied sources (loss of functionality for legitimate workflows), gate EXR parsing behind an isolated, unprivileged worker process with memory/CPU limits and no access to production assets (crash is contained to the worker, at the cost of added pipeline complexity), quarantine and validate incoming EXR files in a sandboxed converter before they reach the primary application (adds latency and a second parsing implementation to maintain), and run image-ingest services under a supervisor that restarts on abnormal exit so a crash degrades throughput instead of availability. There is no configuration switch or environment flag in the library that disables opaque-attribute handling, so no pure-configuration mitigation is available. Monitor the issue and PR threads at https://github.com/AcademySoftwareFoundation/openexr/issues/2612 and https://github.com/AcademySoftwareFoundation/openexr/pull/2615 for the release that formally carries the fix, and treat any crash-on-open report from an EXR pipeline as a potential signal of this defect given that no public exploit code is currently known.

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OpenEXR is the Academy Software Foundation's C++ library and file format for high-dynamic-range imagery, widely embedded in VFX, rendering, and image-processing pipelines. EXR files are structured as a header of typed attributes; when the parser encounters an attribute whose type name it does not recognize, it stores the raw bytes in an OpaqueAttribute object (src/lib/OpenEXR/ImfOpaqueAttribute.cpp). The root cause class is CWE-476 (NULL Pointer Dereference): when an unknown-type attribute carries dataSize == 0, no backing buffer is allocated, so the object's _data/_packed_data pointer remains NULL, yet the constructor, the copy constructor, and OpaqueAttribute::copyValueFrom each call memcpy() unconditionally with that NULL source. Under the C++ standard, passing a null pointer to memcpy() is undefined behavior even for a zero byte count, so results range from a harmless no-op to a hard crash depending on the standard library, compiler optimization level, and sanitizer instrumentation - the reported outcome is process termination, i.e. denial of service. The supplied CPE string is unpopulated (cpe:2.3:a:n/a:n/a:*:...), so no authoritative CPE-based product/version mapping exists; version data comes from the description (3.4.14) and the upstream issue/PR references, and ENISA's EUVD entry (EUVD-2026-86273) likewise records an 'n/a n/a' affected-version placeholder. The upstream patch at PR #2615 (commit 70ddecfe82d2566f3776b8ed923939afd47baca2) adds 'if (dataSize > 0)' and 'if (other._dataSize > 0)' / 'if (oa->_dataSize > 0)' guards in front of all three memcpy calls, confirming that the copy and copyValueFrom paths share the same defect.

Know when Openexr gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 5.5 MEDIUM
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
vuln.today AI 5.5 MEDIUM

Crafted file must be parsed locally (AV:L) and opened by the victim (UI:R); deterministic trigger (AC:L), no auth needed (PR:N), and impact is process-crash only (A:H, C/I:N).

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 5.5 MEDIUM

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

DescriptionCVE.org

OpenEXR 3.4.14 contains a NULL Pointer Dereference in the C++ attribute parsing path. A specially crafted EXR file containing an unknown-type attribute with dataSize set to zero causes the parser to create an opaque attribute with a NULL packed_data pointer. The OpaqueAttribute constructor passes the NULL pointer to memcpy() without validating the zero-size condition, resulting in undefined behavior and process termination, leading to denial of service.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
de facto HDR image format across VFX/film/graphics tools, not general enterprise
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2018-18444 HIGH POC
8.8 Oct 17

makeMultiView.cpp in exrmultiview in OpenEXR 2.3.0 has an out-of-bounds write, leading to an assertion failure or possib

CVE-2026-27622 HIGH POC
8.4 Mar 03

Out-of-bounds heap write in OpenEXR's CompositeDeepScanLine::readPixels lets a crafted multi-part deep-scanline EXR file

CVE-2017-12596 HIGH POC
7.8 Aug 07

In OpenEXR 2.2.0, a crafted image causes a heap-based buffer over-read in the hufDecode function in IlmImf/ImfHuf.cpp du

CVE-2026-26981 MEDIUM POC
6.5 Feb 24

OpenEXR versions 3.3.0-3.3.6 and 3.4.0-3.4.4 are vulnerable to a heap buffer overflow in file parsing due to improper in

CVE-2021-3598 MEDIUM POC
5.5 Jul 06

There's a flaw in OpenEXR's ImfDeepScanLineInputFile functionality in versions prior to 3.0.5. Rated medium severity (CV

CVE-2020-16589 MEDIUM POC
5.5 Dec 09

A head-based buffer overflow exists in Academy Software Foundation OpenEXR 2.3.0 in writeTileData in ImfTiledOutputFile.

CVE-2020-16588 MEDIUM POC
5.5 Dec 09

A Null Pointer Deference issue exists in Academy Software Foundation OpenEXR 2.3.0 in generatePreview in makePreview.cpp

CVE-2020-16587 MEDIUM POC
5.5 Dec 09

A heap-based buffer overflow vulnerability exists in Academy Software Foundation OpenEXR 2.3.0 in chunkOffsetReconstruct

CVE-2020-11765 MEDIUM POC
5.5 Apr 14

An issue was discovered in OpenEXR before 2.4.1. Rated medium severity (CVSS 5.5), this vulnerability is no authenticati

CVE-2020-11764 MEDIUM POC
5.5 Apr 14

An issue was discovered in OpenEXR before 2.4.1. Rated medium severity (CVSS 5.5), this vulnerability is no authenticati

CVE-2020-11763 MEDIUM POC
5.5 Apr 14

An issue was discovered in OpenEXR before 2.4.1. Rated medium severity (CVSS 5.5), this vulnerability is no authenticati

CVE-2020-11762 MEDIUM POC
5.5 Apr 14

An issue was discovered in OpenEXR before 2.4.1. Rated medium severity (CVSS 5.5), this vulnerability is no authenticati

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Server 16.0 SUSE Linux Enterprise Server for SAP applications 16.0 Fixed
SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 Fixed
openSUSE Leap 16.0 Fixed
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Module for Desktop Applications 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy