Skip to main content

OpenImageIO EUVDEUVD-2026-83122

| CVE-2026-59181 MEDIUM
Stack-based Buffer Overflow (CWE-121)
2026-09-18 GitHub_M
6.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Craft .cin with numberOfElements>8
  2. Delivery
    Deliver malicious image to victim pipeline
  3. Exploit
    Victim app opens file via OpenImageIO
  4. Execution
    CineonInput::open() overruns strings[8] stack array
  5. Persist
    Corrupt adjacent stack memory
  6. Impact
    Process crash / DoS

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Stack buffer bounds checking
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 the victim (or an automated pipeline) to open or process a crafted Cineon .cin file whose header field numberOfElements exceeds the format maximum of 8, using an application linked against OpenImageIO prior to 3.0.20.0 / 3.1.15.0 / 3.2.0.3-beta1. This affects default configurations of the Cineon reader - no special feature toggle is needed - but exploitation is limited by the local attack vector (AV:L) and mandatory user interaction/file handling (UI:R): the attacker cannot trigger it remotely without inducing the target to ingest the malicious image. Practical impact is a crash of the processing application; broader consequences depend on how the corrupted stack pointers are subsequently used.

Impact

This is a genuine but non-urgent memory-corruption flaw in OpenImageIO's Cineon reader. The vendor CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H = 6.1) is internally consistent and I agree with it: exploitation is local and requires the victim to open or process an attacker-supplied .cin file (UI:R), with the dominant impact being a crash/DoS (A:H) and limited integrity impact (I:L) from the out-of-bounds pointer writes. No EPSS score, no CISA KEV listing, and no public exploit code were provided; the only 'proof' artifact is a regression test input (broken_bitdepth.cin) added alongside the fix, which is a defensive test file, not a weaponized exploit - so exploitation status is 'no public exploit identified at time of analysis.' There is no SSVC decision data in the input. Notably, the description states the bug writes attacker-influenced pointers 'beyond the stack buffer and into adjacent state,' which is a hallmark of a potentially more-than-DoS condition (possible control-flow corruption), yet the vendor conservatively scored confidentiality N and integrity only L; defenders processing untrusted images at scale should treat the I:L rating as a possible under-statement while accepting that the practical, reliable outcome is a crash. Overall: a real bug worth patching in image pipelines but not a drop-everything network-exploitable issue.

Exploit ScenarioDerived

An attacker crafts a malicious Cineon (.cin) image whose header sets numberOfElements to a value greater than 8 (the test uses 255) and delivers it to a victim who renders, converts, or thumbnails it with an application built on OpenImageIO. When CineonInput::open() loops on the unchecked count to fill the fixed strings[8] stack array, it writes pointers past the buffer into adjacent stack state, corrupting memory and crashing the process. No public exploit exists beyond the vendor's regression test file; exploitation requires local file processing and user/pipeline interaction (UI:R).

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 18, 2026

Stack-based buffer overflow in OpenImageIO's Cineon image reader (CineonInput::open()) lets a crafted .cin file that declares more than the format's maximum of eight channels overwrite stack pointers and corrupt adjacent memory, crashing the application that processes it. Exploitation requires the victim or an automated pipeline to open the malicious file (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H, 6.1), so it cannot be triggered remotely without inducing file ingestion; the assessed impact is denial of service with only low integrity risk and no confidentiality loss. No public exploit identified at time of analysis and the issue is not in CISA KEV; vendor fixes shipped in OpenImageIO 3.0.20.0, 3.1.15.0, and 3.2.0.3-beta1.

RemediationAI

Vendor-released patch: upgrade OpenImageIO to 3.0.20.0, 3.1.15.0, or 3.2.0.3-beta1 (or later) as described in advisory https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-xh8r-vmqq-56pp; the fix is in PR https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/5250 / commit 908f22f5528e88e5e96184c194caa26b54b2b85f and adds header validation (channel count 1-8, bit depth 1-32). If immediate upgrading is not possible, compensating controls are: avoid opening or batch-processing untrusted Cineon .cin files with OpenImageIO-based tools (trade-off: blocks legitimate third-party image ingestion workflows), route all .cin decoding through an isolated, low-privilege sandboxed or containerized process with resource limits so a crash does not affect the host pipeline (trade-off: added operational complexity and reduced throughput), and pre-validate the Cineon header's NumberOfElements field with an independent parser before handing files to OpenImageIO (trade-off: requires custom tooling and must be kept in sync with format changes). Note that these are mitigations only; because the bug is in the library's decoder loop, patching is the only complete fix.

Affected VersionsENISA

OpenImageIO < 3.0.20.0
OpenImageIO 3.2.0.0-dev, < 3.2.0.3-beta1
OpenImageIO 3.1.0.0, < 3.1.15.0

Affected Packages

euvd openimageio fix: 3.0.20.0, 3.1.15.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

Cineon (.cin) is a Kodak-developed 10-bit digital film image format widely used in VFX and DI pipelines; its header carries per-channel metadata including NumberOfElements (the channel count) and a BitDepth value for each channel. In OpenImageIO's reader src/cineon.imageio/cineoninput.cpp, CineonInput::open() read NumberOfElements and used it directly as the loop bound while populating a fixed-size strings[8] stack array, so a header value above eight wrote pointers past the end of that buffer into adjacent stack state - a classic CWE-121 stack-based buffer overflow. The upstream fix in PR 5250 (commit 908f22f5528e88e5e96184c194caa26b54b2b85f) introduces a bound check requiring nchannels to be between 1 and 8 (errorfmt "Invalid number of channels {} (must be 1-8)"), validates each channel's BitDepth to 1-32 bits, and passes explicit size limits to check_open (width/height up to 1<<20, 1-8 channels); the test suite adds testsuite/cineon/src/broken_bitdepth.cin as a regression case. The affected CPE is cpe:2.3:a:academysoftwarefoundation:openimageio:*:*:*:*:*:*:*:* - all releases before the patched versions.

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 6.1 MEDIUM
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H
vuln.today AI 6.1 MEDIUM

Local crafted-file trigger with required interaction (AV:L/UI:R), no auth (PR:N); out-of-bounds pointer writes give limited integrity impact (I:L) and reliable crash (A:H), no confidentiality (C:N).

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

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
Low
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.20.0, 3.1.15.0, and 3.2.0.3-beta1, A crafted cineon file can supply a numberofelements value greater than the format maximum of eight. cineoninput::open() uses that unchecked value as the loop bound while filling the fixed strings[8] array, writing pointers beyond the stack buffer and into adjacent state, resulting in memory corruption and denial of service. The affected implementation is identified by src/cineon.imageio/cineoninput.cpp, CineonInput::open(), numberOfElements, and strings[8], which define the relevant source path, functions, state, and trigger. This issue is fixed in versions 3.0.20.0, 3.1.15.0, and 3.2.0.3-beta1.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Medium
widely used VFX/animation image library embedded in many DCC and rendering tools
Data Quality
6 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.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
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
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.

A stack-based buffer overflow occurs when a program writes more data to a buffer located on the stack than it was allocated to hold.

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

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