Skip to main content

OpenImageIO EUVDEUVD-2026-83123

| CVE-2026-63420 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 indexed PSD with mismatched transparency channels
  2. Delivery
    Deliver file to victim with rawcolor/rawdata enabled
  3. Exploit
    interleave_row() indexes beyond channel_buffers
  4. Execution
    Heap out-of-bounds read
  5. Impact
    Process crash (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 (1) the non-default oiio:rawcolor OR psd:rawdata option to be enabled in the OpenImageIO reader, and (2) the victim to open/process an attacker-crafted indexed PSD file whose transparency metadata produces fewer stored channel_buffers than the advertised spec.nchannels. Limiting factors: attack vector is local (AV:L) with required user interaction (UI:R - the victim must supply the file), and the rawcolor/rawdata path is not the default configuration, so systems using standard color-managed reads are not affected. Impact is confined to a crash of the processing application (A:H); no code execution or data disclosure is claimed.

Impact

This is a genuine but low-priority availability issue, not a widespread threat. The CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H) scores 5.5 (Medium): local attack vector, requiring the victim to open a crafted PSD file (UI:R), with impact limited to a process crash (A:H) - the vendor explicitly rates confidentiality and integrity as None despite this being an out-of-bounds READ. There is no EPSS score, no CISA KEV listing, and no public exploit code provided (only a regression test file, crash-rowbounds-f999.psd, ships with the fix). CWE-125 (out-of-bounds read) is consistent with the description. NOTE A KEY CAVEAT: exploitation requires the non-default oiio:rawcolor or psd:rawdata option to be enabled - this is a real limiting condition not captured by the AC:L rating, and it materially reduces real-world exposure. The 'Information Disclosure' tag conflicts with the vendor's C:N rating; the observable effect is a crash, not data leakage. Overall: a real memory-safety bug worth patching in image pipelines but far from an urgent, remotely-weaponizable priority.

Exploit ScenarioDerived

An attacker crafts a malicious indexed PSD file whose transparency metadata causes fewer channel_buffers to be allocated than spec.nchannels advertises, then delivers it to a victim who processes it with OpenImageIO in an application or workflow configured with oiio:rawcolor or psd:rawdata enabled. When the file is read, PSDInput::interleave_row() indexes past channel_buffers, triggering a heap out-of-bounds read and crashing the process. No public exploit code exists, though a proof-of-concept crash file is included in the project's regression test suite.

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

A heap out-of-bounds read in the OpenImageIO PSD reader can crash any application that processes a crafted indexed Photoshop (PSD) file while the non-default oiio:rawcolor or psd:rawdata option is enabled. The flaw affects OpenImageIO builds prior to 3.0.21.0, 3.1.16.0, and 3.2.0.3-beta1, where a PSD whose transparency metadata yields fewer stored channel buffers than the advertised channel count causes PSDInput::interleave_row() to read past the end of channel_buffers. Exploitation is local with required user interaction (the victim must supply or open the malicious file), the vulnerable rawcolor/rawdata path is not the default configuration, and impact is limited to a denial-of-service crash of the processing process, with no code execution or data disclosure reported; no public exploit has been identified at time of analysis, and CVSS 5.5 (A:H, C:N/I:N) reflects the availability-only, non-default-path nature of the issue.

RemediationAI

Vendor-released patch: upgrade to OpenImageIO 3.0.21.0, 3.1.16.0, or 3.2.0.3-beta1 (or later), which make interleave_row() validate buffer sizes and return false on corrupt PSD channel data rather than reading out of bounds; see the advisory https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-x877-h4xx-5m5j, PR https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/5307 and commit https://github.com/AcademySoftwareFoundation/OpenImageIO/commit/4995b25b8216552630e0aee0d8870e0d3aaae7ee. If upgrading is not immediately possible, the most effective compensating control is to disable the non-default oiio:rawcolor and psd:rawdata attributes in every OpenImageIO consumer (oiiotool, oiio readers embedded in DCC tools, and any service that calls ImageInput::open with these hints); the trade-off is that callers who intentionally rely on raw PSD channel/color access will no longer get that data, and they must use the standard color-managed read path instead. Additionally, treat untrusted PSD files as hostile input: run image conversion and thumbnail generation in a sandboxed or resource-limited worker process so a crash cannot take down the primary application, and reject or quarantine indexed PSDs in ingestion pipelines until patched. Note that these measures reduce exposure but do not remove the underlying out-of-bounds read; patching is the only complete fix.

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 a C++ image I/O library and toolset (used widely in VFX and animation pipelines, and exposed through tools such as oiiotool) that parses many formats via plugins, including PSD through src/psd.imageio/psdinput.cpp. The PSD format stores raster data as planar channel rows; the reader keeps per-channel buffers in channel_buffers and interleaves them into the output scanline in PSDInput::interleave_row(), using spec.nchannels as the channel count. In an indexed PSD carrying transparency metadata, the number of stored channel buffers can legitimately be smaller than spec.nchannels as advertised by the rawcolor path, so when either the oiio:rawcolor or psd:rawdata attribute is enabled, PSDInput::read_native_scanline() passes spec.nchannels to interleave_row(), which indexes channel_buffers beyond its size - a classic CWE-125 out-of-bounds read (formally, the channel loop reads past the buffer vector, then out-of-bounds row data). The upstream fix (PR #5307, commit 4995b25b8216552630e0aee0d8870e0d3aaae7ee) changes interleave_row() to return bool after validating that dst is non-null, width and nchans are non-negative, channel_buffers.size() >= nchans, and each channel buffer holds at least width*sizeof(T) bytes; read_native_scanline() now checks that return value and emits 'Corrupt PSD channel data for row N' instead of dereferencing invalid memory, with a regression test added using a crafted sample (testsuite/psd/src/crash-rowbounds-f999.psd).

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 crafted-file read (AV:L/UI:R), no auth needed (PR:N); OOB read only crashes the process, so C:N/I:N/A:H, matching the vendor; rawcolor/rawdata precondition is config, not complexity.

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, An indexed psd with transparency metadata creates fewer stored channel_buffers than the spec.nchannels value advertised by the rawcolor path. when oiio:rawcolor or psd:rawdata is enabled, psdinput::read_native_scanline() passes spec.nchannels to psdinput::interleave_row(), which indexes beyond channel_buffers, resulting in a heap out-of-bounds read and process crash. The affected implementation is identified by src/psd.imageio/psdinput.cpp, PSDInput::read_native_scanline(), PSDInput::interleave_row(), oiio:RawColor, psd:RawData, channel_buffers, and spec.nchannels, 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 production 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
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 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.

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