Skip to main content

OpenImageIO EUVDEUVD-2026-83137

| CVE-2026-65969 MEDIUM
Out-of-bounds Read (CWE-125)
2026-09-18 GitHub_M
5.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Craft truncated TGA with oversized dimensions
  2. Delivery
    Victim converts file to GIF via OpenImageIO
  3. Exploit
    Pending frame flushed at output close
  4. Execution
    32-bit overflow in GifSplitPalette corrupts subPixelsA
  5. Impact
    Out-of-bounds read crashes process (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

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

Exploitation Conditions

Exploitation requires that OpenImageIO (prior to 3.0.21.0 / 3.1.16.0 / 3.2.0.3-beta1) be used to WRITE GIF output while reading a maliciously crafted, TRUNCATED TGA input - the specific trigger is a truncated TGA that leaves a pending GIF frame processed during GIFOutput close, combined with image dimensions large enough to overflow the signed 32-bit numPixels × (splitElt−firstElt) product in GifSplitPalette(). Limiting factors: the vector is LOCAL (AV:L) with required user interaction (UI:R) - a user or automated job must invoke the TGA→GIF conversion path; there is no unauthenticated remote trigger, no privilege escalation, and no attacker code execution. Realistic exposure is confined to services or workflows that transcode untrusted images to GIF using OpenImageIO.

Impact

This is a genuine but low-priority defensive-hardening issue, not an urgent threat. The CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, base 5.5) describes a pure availability impact - a process crash - with no confidentiality or integrity loss. The attack is LOCAL (AV:L) and requires user interaction (UI:R): a victim must run an OpenImageIO-based tool that converts a maliciously crafted/truncated TGA into GIF output. There is no remote network exposure and no code execution: the integer overflow in GifSplitPalette() drives an out-of-bounds READ (CWE-125), which in practice terminates the process rather than yielding attacker control. No EPSS score, no CISA KEV listing, and no public proof-of-concept exploit were provided, consistent with a batch of GitHub-advisory-sourced OpenImageIO memory-safety bugs. The 'Information Disclosure' tag CONFLICTS with the vendor vector (C:N) and overstates impact - this is a denial-of-service only. Realistic priority: patch during normal maintenance; it matters most for automated batch/render pipelines that ingest untrusted images, where a crash disrupts a job but does not compromise data.

Exploit ScenarioDerived

An attacker submits a crafted, truncated TGA file to an automated pipeline (e.g., a render farm, asset-ingest service, or thumbnailer) that uses OpenImageIO to transcode it to GIF. The truncation leaves a pending GIF frame that is flushed at output-close, where a large image size overflows the signed 32-bit numPixels × partition-width product in GifSplitPalette(), corrupting subPixelsA and forcing an out-of-bounds read that crashes the process. No public exploit code was identified at time of analysis; exploitation is local and requires the victim to process the file.

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

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

Alert me

AnalysisAIv1 – Sep 18, 2026

Denial of service in OpenImageIO versions prior to 3.0.21.0, 3.1.16.0, and 3.2.0.3-beta1 occurs when the library processes a truncated TGA file while writing GIF output, triggering a signed 32-bit integer overflow in GifSplitPalette() that leads to an out-of-bounds read (CWE-125) and a process crash. The CVSS v3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H) indicates the attacker is unauthenticated (PR:N) but requires local access and user interaction, with no remote or unauthenticated network trigger. No public exploit code or active exploitation has been identified; this is a low-priority hardening issue for workflows that transcode untrusted images to GIF.

RemediationAI

Vendor-released patch: upgrade to OpenImageIO 3.0.21.0, 3.1.16.0, or 3.2.0.3-beta1. Apply the fix by updating to these versions or later; the patches correct the signed integer overflow by using 64-bit arithmetic in GifSplitPalette(), GifMakePalette(), GifBegin(), and gifinput.cpp. If immediate upgrade is not possible, as a compensating control, avoid processing untrusted or truncated TGA files when writing GIF output, or enforce image dimension limits (e.g., width and height) to prevent the integer overflow condition. Because exploitation requires local access and user interaction, restrict the ability to invoke OpenImageIO on attacker-controlled files, and run image conversion jobs in a sandboxed, low-privilege process. Note that disabling TGA-to-GIF conversion or imposing strict input validation may break legitimate workflows that rely on those formats. Refer to the vendor advisory https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-9mwc-fjgj-8wmq and PR https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/5292 for details.

Affected VersionsENISA

OpenImageIO < 3.0.21.0
OpenImageIO 3.1.0.0, < 3.1.16.0
OpenImageIO 3.2.0.0-dev, < 3.2.0.3-beta1

Affected Packages

euvd openimageio fix: 3.0.21.0, 3.1.16.0
euvd openimageio_3_2_0_0_dev fix: 3.2.0.3-beta1

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 image I/O library used in VFX and animation. The vulnerability is an out-of-bounds read (CWE-125) caused by a signed 32-bit integer overflow in the GifSplitPalette() function of src/gif.imageio/gif.h. When a truncated TGA input leaves a pending GIF frame that is processed during GIFOutput close, the function computes subPixelsA = numPixels * (splitElt - firstElt) / (lastElt - firstElt) using 32-bit signed arithmetic; for large image dimensions this product overflows, corrupting subPixelsA and causing an OOB read while building the GIF palette. The same PR (5292) also fixes related multiplication overflows in GifMakePalette() (imageSize), GifBegin() (oldImage allocation), and in gifinput.cpp (read_native_scanline and read_subimage_data) by casting to 64-bit integers. The CPE string cpe:2.3:a:academysoftwarefoundation:openimageio:*:*:*:*:*:*:*:* confirms all versions of OpenImageIO are potentially affected up to the fixed releases.

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 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

Local file-processing vector (AV:L) needing a victim to convert a crafted TGA to GIF (UI:R); out-of-bounds read causes only a crash, so C:N/I:N and A:H.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Sep 18, 2026 - 17:17 EUVD

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.21.0, 3.1.16.0, and 3.2.0.3-beta1, A truncated tga can leave a pending gif frame that is processed during output close. gifsplitpalette() computes numpixels multiplied by the palette partition width in signed 32-bit arithmetic; a large image overflows that intermediate, corrupts subpixelsa, and drives an out-of-bounds read while building the gif palette, resulting in a process crash and denial of service. The affected implementation is identified by src/gif.imageio/gif.h, GifSplitPalette(), numPixels, subPixelsA, GIFOutput, and truncated TGA input, which define the relevant source path, functions, state, and trigger. This issue is fixed in versions 3.0.21.0, 3.1.16.0, and 3.2.0.3-beta1.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Medium
core VFX/animation image I/O library, niche outside media pipelines
Data Quality
7 sources
Confidence: High

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.1%
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
Defer
Exploitation
None
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 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.

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

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

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: Moderate
Product Status
openSUSE Tumbleweed Fixed

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