Skip to main content

OpenImageIO CVE-2026-43905

| EUVDEUVD-2026-30398 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-05-14 GitHub_M
7.1
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Deliver crafted JPEG 2000 file
  2. Delivery
    User opens image in VFX application
  3. Exploit
    Integer overflow in buffer calculation
  4. Install
    Undersized heap allocation
  5. C2
    Pixel write loop overflows buffer
  6. Execute
    Heap memory corruption
  7. Impact
    Arbitrary code execution

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

Requires OpenImageIO compiled with USE_OPENJPH build flag enabled - this is a non-default optional codec. Attack requires local access to deliver malicious JPEG 2000 image file and user interaction to open the file (UI:A per CVSS). User must process the crafted image through an application using the vulnerable OpenImageIO library. Standard default builds without OpenJPH support are not exploitable. Attack complexity is low (AC:L) once conditions are met, but attack requirements present (AT:P) due to specific build configuration dependency.

Impact

Real-world risk is moderate despite CVSS 7.1 score. CVSS vector CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A indicates local attack vector requiring user interaction (opening malicious image), low attack complexity, but present attack requirements. SSVC framework confirms POC availability and total technical impact (arbitrary code execution), but marks not automatable due to user interaction requirement. This aligns with the UI:A (user interaction required) in CVSS. The vulnerability is exploitable only when USE_OPENJPH is enabled during compilation, significantly reducing the attack surface compared to default builds. No EPSS score provided and no CISA KEV listing indicates this is not being exploited at scale in the wild. Primary risk is to VFX/animation studios and content pipelines that process untrusted JPEG 2000 images using OpenJPH-enabled builds. The local attack vector limits remote exploitation scenarios, requiring social engineering or supply chain compromise to deliver malicious images. Given POC existence and heap corruption primitive, this warrants priority patching for affected installations, but general internet-facing systems are not at immediate risk.

Exploit ScenarioDerived

Attacker crafts a malicious JPEG 2000 image file with dimensions carefully chosen so width × height × channels × bytes-per-pixel exceeds INT_MAX, causing integer wraparound to a small buffer size. User opens this image in a VFX application using OpenImageIO compiled with OpenJPH support. During parsing, the undersized heap buffer is allocated, then pixel write loops overflow the buffer, corrupting adjacent heap structures to achieve arbitrary code execution with the privileges of the rendering application.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 14, 2026

Heap overflow in OpenImageIO's JPEG 2000 decoder allows local attackers with malicious image files to execute arbitrary code. Affects versions before 3.0.18.0 and 3.1.x before 3.1.13.0 when compiled with USE_OPENJPH flag. Integer overflow in buffer size calculation causes undersized heap allocation, leading to memory corruption during pixel writes. No public exploit identified at time of analysis, but SSVC framework indicates POC exists. Vendor-released patches available in versions 3.0.18.0 and 3.1.13.0.

RemediationAI

Upgrade to OpenImageIO version 3.0.18.0 for the stable branch or 3.1.13.0 for the development branch as documented in GitHub Security Advisory GHSA-pj45-cf3g-28gq at https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-pj45-cf3g-28gq. Both patches implement proper integer overflow checks in jpeg2000input.cpp buffer size calculations. If immediate patching is not feasible, disable USE_OPENJPH at compile time and rebuild without OpenJPH JPEG 2000 codec support, though this eliminates JPEG 2000 format handling capabilities. As compensating control, implement strict input validation to reject JPEG 2000 files with suspicious dimensions (width × height × channels exceeding safe thresholds around 500 million pixels) before passing to OpenImageIO, though this may break legitimate high-resolution content workflows. Restrict processing of JPEG 2000 images to trusted sources only and run OpenImageIO processing in sandboxed environments with limited privileges to contain potential exploitation impact.

Affected VersionsENISA

OpenImageIO < 3.0.18.0
OpenImageIO 3.1.4.0-beta, < 3.1.13.0

Affected Packages

euvd openimageio fix: 3.0.18.0
euvd openimageio_3_1_4_0_beta fix: 3.1.13.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in euvd

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

Technical ContextAI · show details

OpenImageIO is an Academy Software Foundation library for reading and writing image formats used in visual effects and animation pipelines. The vulnerability resides in jpeg2000input.cpp at line 395, where buffer size is computed using signed 32-bit multiplication (w * h * ch * buffer_bpp). When processing maliciously crafted JPEG 2000 images with dimensions that cause this product to exceed INT_MAX (2,147,483,647), integer overflow (CWE-190) causes the result to wrap to zero or a small positive value. The subsequent m_buf.resize() allocates an undersized heap buffer, but pixel write loops proceed assuming the full calculated size, writing beyond allocated bounds and corrupting heap memory. This vulnerability only manifests in builds compiled with the USE_OPENJPH build flag, which enables OpenJPH JPEG 2000 codec support. CPE cpe:2.3:a:academysoftwarefoundation:openimageio identifies the affected component from the Academy Software Foundation.

Know when Openimageio 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 (GitHub_M) PRIMARY 7.1 HIGH
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

4
Patch available
May 14, 2026 - 21:32 EUVD
CVSS changed
May 14, 2026 - 20:22 NVD
7.1 (HIGH)
CVE Published
May 14, 2026 - 19:09 nvd
UNKNOWN (no severity yet)
CVE Published
May 14, 2026 - 19:09 nvd
HIGH 7.1

DescriptionCVE.org

OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation. Prior to 3.0.18.0 and 3.1.13.0, jpeg2000input.cpp:395 computes buffer size as const int bufsize = w * h * ch * buffer_bpp using signed 32-bit arithmetic. When the product exceeds INT_MAX, the result wraps to 0 or a small value. m_buf.resize() allocates an undersized buffer, and subsequent pixel write loops cause heap overflow. Conditional on USE_OPENJPH build flag. This vulnerability is fixed in 3.0.18.0 and 3.1.13.0.

Executive ViewAI

Why It Matters

OpenImageIO versions before 3.0.18.0 and 3.1.x before 3.1.13.0 contain a heap overflow vulnerability in JPEG 2000 image processing that enables local attackers to execute arbitrary code when processing malicious image files. Organizations using these versions for image processing workflows face direct code execution risk from untrusted image sources, requiring immediate patching to prevent potential system compromise.

Business Impact: High
Compensating Controls

Apply vendor patch. Interim mitigations: restrict JPEG 2000 image processing to trusted/validated sources only; implement file source validation before passing to OpenImageIO; disable USE_OPENJPH compilation flag if JPEG 2000 support is not operationally required; run image processing in sandboxed environments with restricted privileges.

Threat Intelligence Overview

EPSS Score
0.0%
Top 97% exploitable
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor 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 HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

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

CVE-2023-42299 CRITICAL POC
9.8 Nov 02

Buffer Overflow vulnerability in OpenImageIO oiio v.2.4.12.0 allows a remote attacker to execute arbitrary code and caus

CVE-2022-41838 CRITICAL POC
9.8 Dec 22

A code execution vulnerability exists in the DDS scanline parsing functionality of OpenImageIO Project OpenImageIO v2.4.

CVE-2022-41837 CRITICAL POC
9.8 Dec 22

An out-of-bounds write vulnerability exists in the OpenImageIO::add_exif_item_to_spec functionality of OpenImageIO Proje

CVE-2022-41794 CRITICAL POC
9.8 Dec 22

A heap based buffer overflow vulnerability exists in the PSD thumbnail resource parsing code of OpenImageIO 2.3.19.0. Ra

CVE-2022-41639 CRITICAL POC
9.8 Dec 22

A heap based buffer overflow vulnerability exists in tile decoding code of TIFF image parser in OpenImageIO master-branc

CVE-2022-38143 CRITICAL POC
9.8 Dec 22

A heap out-of-bounds write vulnerability exists in the way OpenImageIO v2.3.19.0 processes RLE encoded BMP images. Rated

CVE-2022-41649 CRITICAL POC
9.1 Dec 22

A heap out of bounds read vulnerability exists in the handling of IPTC data while parsing TIFF images in OpenImageIO v2.

CVE-2023-42295 HIGH POC
8.8 Oct 23

An issue in OpenImageIO oiio v.2.4.12.0 allows a remote attacker to execute arbitrary code and cause a denial of service

CVE-2022-43602 HIGH POC
8.1 Dec 22

Multiple code execution vulnerabilities exist in the IFFOutput::close() functionality of OpenImageIO Project OpenImageIO

CVE-2022-43601 HIGH POC
8.1 Dec 22

Multiple code execution vulnerabilities exist in the IFFOutput::close() functionality of OpenImageIO Project OpenImageIO

CVE-2022-43600 HIGH POC
8.1 Dec 22

Multiple code execution vulnerabilities exist in the IFFOutput::close() functionality of OpenImageIO Project OpenImageIO

CVE-2022-43599 HIGH POC
8.1 Dec 22

Multiple code execution vulnerabilities exist in the IFFOutput::close() functionality of OpenImageIO Project OpenImageIO

Vendor StatusVendor

SUSE

Severity: High

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