Skip to main content

OpenEXR CVE-2026-42217

| EUVDEUVD-2026-28300 MEDIUM
Integer Overflow or Wraparound (CWE-190)
2026-05-07 GitHub_M
Medium
Disputed · 6.3 Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Attacker crafts malicious EXR file
  2. Delivery
    Victim opens file with vulnerable OpenEXR
  3. Exploit
    Parser reads IDManifest attribute
  4. Install
    readVariableLengthInteger() processes continuation bytes
  5. C2
    Shift count exceeds 64 bits
  6. Execute
    Undefined behavior triggered
  7. Impact
    Process crash or memory corruption

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

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

Exploitation Conditions

The EXR file must be opened by an application or library using a vulnerable OpenEXR version (3.0.0-3.2.8, 3.3.0-3.3.10, 3.4.0-3.4.10). The IDManifest attribute in the file must contain a maliciously crafted variable-length integer with continuation bytes exceeding 9 bytes, causing the shift count to exceed 64. No special build flags, non-default configurations, or privilege escalation are required; any application processing untrusted EXR files is vulnerable. The vulnerability is NOT limited to reading the entire file-parsing may fail or trigger undefined behavior before the full image is decoded, depending on where the IDManifest attribute appears in the file structure. User interaction (opening a file) is required in typical workflows, but automated batch-processing pipelines eliminate even this barrier.

Impact

CVSS 6.3 with AV:N/AC:L/AT:P (remotely exploitable, low complexity, partial attack requirements-specifically crafted EXR files) aligns with realistic risk. The integrity and confidentiality impact are both marked as low (VI:N, VC:L), suggesting limited immediate damage from a single exploitation; however, undefined behavior in C++ is inherently unpredictable and can escalate depending on compiler flags and memory layout. The AT:P modifier (partial) likely reflects the need to craft a valid EXR file structure with the malicious variable-length integer, raising attack complexity slightly above trivial. No public exploit code has been identified; however, the attack surface is broad-any software parsing untrusted EXR files (graphics engines, VFX tools, image processors, web servers with EXR plugins) is at risk. The attack is not automatable at scale without reverse-engineering EXR parsers in victim applications, but the technical barrier is low for motivated attackers. Patch availability (3.2.9, 3.3.11, 3.4.11) reduces risk for maintainers of dependent projects; however, lag in upgrades across enterprise VFX pipelines is common. Real-world risk is moderate to high in media and entertainment sectors where EXR is standard; low in general-purpose software ecosystems.

Exploit ScenarioDerived

An attacker crafts a malicious EXR file containing an IDManifest attribute with a variable-length integer encoded using more than nine continuation bytes, triggering a left-shift operation by 70 or more bits on a 64-bit value. A VFX artist or automated pipeline process opens the file using a vulnerable OpenEXR library or application. Undefined behavior at runtime may cause a segmentation fault (denial of service), corrupt the heap or stack (potential code execution or information leakage), or expose adjacent memory depending on compiler flags and the execution environment.

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

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

Alert me

AnalysisAIv1 – May 07, 2026

OpenEXR versions 3.0.0-3.2.8, 3.3.0-3.3.10, and 3.4.0-3.4.10 suffer from unbounded shift operations in the readVariableLengthInteger() function when parsing variable-length integers from untrusted EXR files. Attackers can craft malicious EXR files with excessive continuation bytes to trigger left shifts exceeding 64 bits on a 64-bit integer, causing undefined behavior that may lead to information disclosure or denial of service. The vulnerability is remotely exploitable without authentication or user interaction against any application processing untrusted EXR input; no public exploit code has been identified at the time of analysis.

RemediationAI

Upgrade to patched versions immediately: OpenEXR 3.2.9 or later for the 3.2.x series, 3.3.11 or later for 3.3.x, or 3.4.11 or later for 3.4.x. The fix, merged in PR #2378 (commit 21eaa33bcbbb0c83a5fc42f6b6d65b70a996e63c), adds explicit bounds checking to reject variable-length integers with shift counts reaching or exceeding 64 bits, raising an InputExc exception on invalid input. For applications unable to upgrade immediately, implement input validation by sanitizing or rejecting EXR files from untrusted sources, or run EXR parsing in sandboxed processes with restricted privilege and memory isolation to contain the impact of undefined behavior. If upgrading OpenEXR as a library dependency, audit all dependent applications and rebuild them with the patched version; do not assume transitive dependency managers will resolve this automatically. The fix has negligible performance impact (one additional bounds check per variable-length integer) and no breaking API changes.

Affected VersionsENISA

OpenEXR 3.0.0, < 3.2.9
OpenEXR 3.4.0, < 3.4.11
OpenEXR 3.3.0, < 3.3.11

Affected Packages

euvd openexr_3_0_0 fix: 3.2.9
euvd openexr_3_3_0 fix: 3.3.11
euvd openexr_3_4_0 fix: 3.4.11

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in euvd

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

Technical ContextAI · show details

OpenEXR is a standardized image file format widely used in motion picture production and VFX workflows. The vulnerability resides in the readVariableLengthInteger() function in ImfIDManifest.cpp, which decodes variable-length encoded integers following a common compression pattern: each byte encodes 7 bits of data plus a continuation flag. The code iteratively reads bytes and accumulates their 7-bit values into a 64-bit integer via left-shift operations. CWE-190 (Integer Overflow) classifies this as a numeric operation vulnerability. The root cause is the absence of bounds checking on the shift count; after 10 or more continuation bytes, the shift amount can reach or exceed 64, violating C++ undefined behavior constraints. This can corrupt memory, cause crashes, or expose sensitive data depending on compiler optimization and runtime environment. The CPE affected:all::* pattern indicates all versions of the product between the stated ranges are vulnerable.

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

Sources disagree (Medium–Critical)
Vendor (GitHub_M) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
SUSE 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Red Hat 4.3 MEDIUM

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Patch available
May 07, 2026 - 06:16 EUVD
CVSS changed
May 07, 2026 - 04:35 NVD
6.3 (MEDIUM)
CVE Published
May 07, 2026 - 04:04 nvd
MEDIUM 6.3

DescriptionCVE.org

OpenEXR provides the specification and reference implementation of the EXR file format, an image storage format for the motion picture industry. From versions 3.0.0 to before 3.2.9, 3.3.0 to before 3.3.11, and 3.4.0 to before 3.4.11, readVariableLengthInteger() decodes a variable-length integer from untrusted EXR input without bounding the shift count. After enough continuation bytes, the code executes a left shift by 70 on a 64-bit value, which is undefined behavior. This issue has been patched in versions 3.2.9, 3.3.11, and 3.4.11.

Threat Intelligence Overview

EPSS Score
0.0%
Top 88% exploitable
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

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.0%
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
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Related Vulnerabilities in OpenEXR Buffer and Overflow Issues

View all 3
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: Critical
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed
SUSE Linux Enterprise Module for Desktop Applications 15 SP7 Fixed
SUSE Linux Enterprise Server 15 SP7 Fixed
SUSE Linux Enterprise Server 16.0 Fixed

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