Skip to main content

OpenImageIO EUVDEUVD-2026-83125

| CVE-2026-63635 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 PSD with invalid color_mode
  2. Delivery
    Deliver file to victim/pipeline with RawColor/RawData enabled
  3. Exploit
    validate_header() raw path skips validation
  4. Execution
    setup() indexes color-mode tables out of bounds
  5. Persist
    Out-of-bounds read and bogus allocation
  6. Impact
    Process crash (denial of service)

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 the application to have enabled the non-default OpenImageIO options oiio:RawColor or psd:RawData, because validate_header() only bypasses normal color-mode validation on this raw path (m_WantRaw short-circuit). The attacker must supply a crafted PSD file with an out-of-range color_mode value, and a victim or automated pipeline must open/process it (UI:R, local vector AV:L). Exploitation is limited to local file processing, requires user interaction, and does not affect deployments that leave the raw color/data options disabled (the default); maximum impact is a crash, with no confidentiality or integrity effect.

Impact

This is a genuine but low-priority denial-of-service issue, not a high-impact vulnerability. The vendor CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H = 5.5 Medium) is internally consistent with the description: a local vector requiring a victim to open a crafted PSD file (UI:R), with pure availability impact (C:N/I:N/A:H) from a global out-of-bounds read and possible bogus allocation causing a crash. No EPSS score, no CISA KEV listing, and no public weaponized exploit are present in the input, so exploitation status is 'no public exploit identified at time of analysis' - though the fix PR ships a regression trigger file (bad_colormode.psd) that demonstrates the crash. The CWE-125 (out-of-bounds read) classification aligns with the described table-indexing over-read. A key limiting factor understated by raw CVSS: the flaw is only reachable when the non-default options oiio:RawColor or psd:RawData are enabled, because validate_header() short-circuits normal color-mode validation on the raw path. The 'Information Disclosure' tag conflicts with the vendor's C:N rating - impact is availability only, not disclosure. Overall: real, patched, but low real-world urgency given local-only vector, required user interaction, and non-default configuration gate.

Exploit ScenarioDerived

An attacker crafts a malformed PSD file with an out-of-range color_mode value and delivers it to a victim (or an automated pipeline) that processes images with OpenImageIO configured with oiio:RawColor or psd:RawData enabled. When the file is opened, PSDInput::setup() uses the attacker-controlled color_mode to index fixed color-mode tables past their bounds, causing an out-of-bounds read and possible invalid allocation that crashes the process. No standalone exploit is public, but the fix includes a proof-of-concept PSD test file demonstrating the trigger.

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

Denial of service in OpenImageIO's PSD reader allows a crafted PSD file carrying an invalid color_mode value to index beyond the fixed color-mode tables, producing a global out-of-bounds read and potentially a bogus allocation that crashes the reading process. The exposure is narrow: the raw path is only reachable when the non-default oiio:RawColor or psd:RawData option is explicitly enabled, and an attacker must get a target application or automated pipeline to open the malicious file (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, score 5.5, CWE-125), so impact is availability-only with no confidentiality or integrity effect. No public exploit has been identified at time of analysis, and vendor-released fixes exist in 3.0.21.0, 3.1.16.0, and 3.2.0.3-beta1.

RemediationAI

Vendor-released patch: upgrade to OpenImageIO 3.0.21.0, 3.1.16.0, or 3.2.0.3-beta1 (or later); the fix is carried in the tagged releases for each maintained branch and in commit 50481b0f90932a4675f65f3cc26407139cb9e20e from PR #5282, with details in advisory GHSA-3c8w-9xvm-r6gf. If immediate upgrading is not possible, the most effective compensating control is to ensure the raw PSD path is never enabled: leave the oiio:RawColor and psd:RawData configuration attributes at their defaults (disabled) and strip or ignore any caller-supplied iconfig that sets them, since validate_header() only skips color-mode validation when m_WantRaw is true - the trade-off is that downstream users lose raw access to duotone, Lab, multichannel, and other undocumented color-mode data. Additional hardening with its own costs includes rejecting or sandboxing untrusted PSD input at ingest (quarantine scanning, running image conversion in a restricted process with memory limits), and treating the crash as a containment boundary rather than relying on it, since the out-of-bounds read can also influence an allocation size and instability may vary by build. Patching remains the only control that removes the root cause, as there is no configuration option that validates color_mode while keeping the raw path active in affected versions.

Affected VersionsENISA

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

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

The flaw lives in the PSD format reader at src/psd.imageio/psdinput.cpp, specifically the interaction between PSDInput::validate_header() and PSDInput::setup(). The PSD header carries a color_mode field (Bitmap, Grayscale, Indexed, RGB, CMYK, Multichannel, Duotone, Lab, and undocumented values), and the reader uses that field to select from fixed lookup tables such as mode_channel_count. Before the fix, validate_header() short-circuited with an early 'if (m_WantRaw) return true;' whenever raw access was requested via oiio:RawColor or psd:RawData, so no range check was performed on the attacker-controlled color_mode. PSDInput::setup() then fed the unvalidated value into table indexing, yielding a global out-of-bounds read (CWE-125) and potentially an attacker-influenced allocation. The upstream patch (PR #5282, commit 50481b0f90932a4675f65f3cc26407139cb9e20e) restructures validate_header() so color-mode validation runs before the raw short-circuit and adds an explicit default branch rejecting unknown modes, with a regression test (testsuite/psd-colormodes, bad_colormode.psd) confirming that an unrecognized mode such as 20 now fails header parsing instead of reaching setup().

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 vector with required victim interaction (AV:L/UI:R), no auth (PR:N), and crash-only impact (C:N/I:N/A:H); the raw-config gate is an app option, not attacker-controlled 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, A crafted psd with an invalid color_mode bypasses normal validation when oiio:rawcolor or psd:rawdata is enabled. psdinput::setup() then uses the attacker-controlled value to index fixed color-mode tables, causing a global out-of-bounds read and potentially a bogus allocation, resulting in denial of service. The affected implementation is identified by src/psd.imageio/psdinput.cpp, PSDInput::validate_header(), PSDInput::setup(), oiio:RawColor, psd:RawData, color_mode, and mode_channel_count, 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.2%
Top 95% exploitable
Prevalence
Medium
core VFX/animation image I/O library, niche outside media production
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· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

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.

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