Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver malicious .pic file
-
DeliveryUser opens file in OpenImageIO application
-
ExploitRLE parser processes unclamped run-length
-
ExecutionHeap overflow writes 65KB beyond buffer
-
PersistCorrupt heap metadata or function pointers
-
ImpactExecute attacker code or crash process
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires victim user interaction to open or process a specially crafted Softimage .pic file (UI:A) using an application built against vulnerable OpenImageIO library versions prior to 3.0.18.0 or 3.1.13.0. The attacker must have local access (AV:L) to place the malicious file where the victim will encounter it - shared filesystem, email, removable media, or compromised asset repository. Exploitation succeeds only when the .pic file triggers RLE decompression code paths at softimageinput.cpp:469 (mixed RLE) or :345 (pure RLE), not the correctly-validated raw packet path (line 403). No special application configuration required beyond default OpenImageIO .pic format support being enabled. Limiting factor: local-only attack vector means remote exploitation requires prior foothold or social engineering to deliver malicious file, and user must actively open it rather than passive network exposure. |
| Impact | CVSS 4.0 score of 8.4 reflects high confidentiality, integrity, and availability impact (VC:H/VI:H/VA:H) but requires local access and user interaction (AV:L/UI:A), substantially limiting attack surface compared to network-exploitable vulnerabilities. The attack complexity is low (AC:L/AT:N) with no privileges required (PR:N), meaning any local user can trigger it by convincing a victim to open a malicious .pic file. No scope change (SC:N/SI:N/SA:N) confines impact to the vulnerable component. Real-world risk depends heavily on deployment context: VFX studios processing untrusted image assets face higher exposure than isolated rendering farms with controlled inputs. The 65,535-byte overflow is significant enough for code execution or denial-of-service but requires precise heap manipulation. EPSS score unavailable limits quantitative exploitation probability assessment. Absence from CISA KEV and no public POC mention suggests no confirmed active exploitation, though the detailed file location disclosure (softimageinput.cpp:469, :345) in the GitHub advisory lowers exploit development barrier for sophisticated attackers. This is a legitimate memory corruption risk requiring prioritization in environments processing external .pic files, but not an internet-facing emergency given the local attack vector. |
| Exploit ScenarioDerived | An attacker crafts a malicious Softimage .pic file with manipulated RLE run-length values exceeding scanline boundaries and delivers it via shared network storage, email attachment, or compromised asset library. When a VFX artist opens the file in an application using vulnerable OpenImageIO (e.g., rendering tool, image viewer, pipeline script), the unclamped run-length triggers heap buffer overflow during RLE decompression. With 65,535 bytes of controlled overflow, the attacker corrupts adjacent heap structures to achieve arbitrary code execution in the context of the rendering process or causes application crash for denial-of-service. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 14, 2026
Heap buffer overflow in OpenImageIO versions before 3.0.18.0 and 3.1.13.0 allows local attackers to corrupt up to 65,535 bytes of memory via malicious Softimage .pic files. The vulnerability arises when processing RLE-compressed images where run-length validation is missing in two code paths (softimageinput.cpp lines 469 and 345), though the raw packet path correctly implements bounds checking. EPSS data not available. Not listed in CISA KEV. Patches released by Academy Software Foundation in versions 3.0.18.0 and 3.1.13.0.
RemediationAI
Upgrade to OpenImageIO version 3.0.18.0 or later for the 3.0 branch, or version 3.1.13.0 or later for the 3.1 branch, as confirmed in GitHub Security Advisory GHSA-4499-j545-7q33 (https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-4499-j545-7q33). If immediate patching is infeasible, implement strict input validation by blocking Softimage .pic file processing from untrusted sources, though this eliminates legitimate workflow functionality for studios using this legacy format. Deploy application sandboxing (AppArmor, SELinux, containers) to contain potential heap corruption impact, accepting performance overhead of 5-15% in I/O operations. Disable automatic image preview/thumbnail generation for .pic files in file browsers and DAM systems to reduce user interaction attack surface, noting this degrades user experience in asset review workflows. No temporary code-level workaround exists short of reverting to earlier versions, which would reintroduce other vulnerabilities.
Affected VersionsENISA
Affected Packages
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 widely-used library in VFX and animation pipelines for image I/O operations across multiple formats. The vulnerability affects the Softimage PIC format parser (softimageinput.cpp), specifically in RLE (Run-Length Encoding) decompression logic. CWE-787 (Out-of-bounds Write) occurs because the mixed RLE path (line 469) and pure RLE path (line 345) fail to validate run-length values against remaining scanline width before writing decoded pixels to the heap buffer. The raw packet decompression path (line 403) correctly uses std::min() to clamp values, demonstrating inconsistent input validation across the parser. RLE compression stores pixel runs as length-value pairs; without bounds checking, an attacker-controlled length field up to 0xFFFF can cause writes beyond allocated buffer boundaries. The CPE string cpe:2.3:a:academysoftwarefoundation:openimageio indicates this is the Academy Software Foundation's implementation used across production pipelines.
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
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
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
Lifecycle Timeline
4DescriptionCVE.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, softimageinput.cpp:469 (mixed RLE) and :345 (pure RLE) do not clamp the run length to remaining scanline width before writing pixels. The raw packet path (line 403) correctly clamps with std::min, but RLE paths skip this check. A crafted .pic file causes heap overflow up to 65535 bytes. This vulnerability is fixed in 3.0.18.0 and 3.1.13.0.
Executive ViewAI
OpenImageIO versions before 3.0.18.0 and 3.1.13.0 contain a heap buffer overflow vulnerability affecting organizations that process Softimage .pic image files, enabling local attackers to corrupt up to 65KB of memory and potentially compromise system stability or enable privilege escalation. This impacts creative pipelines, rendering farms, and any systems using vulnerable OpenImageIO deployments for image processing workflows.
If immediate patching is infeasible: restrict local access to systems processing untrusted .pic files through file integrity monitoring and access controls; implement network segmentation isolating OpenImageIO systems from privileged networks; block or filter .pic file uploads at ingestion points until patching completes. Apply vendor patch as primary remediation.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
More in Openimageio
View allBuffer Overflow vulnerability in OpenImageIO oiio v.2.4.12.0 allows a remote attacker to execute arbitrary code and caus
A code execution vulnerability exists in the DDS scanline parsing functionality of OpenImageIO Project OpenImageIO v2.4.
An out-of-bounds write vulnerability exists in the OpenImageIO::add_exif_item_to_spec functionality of OpenImageIO Proje
A heap based buffer overflow vulnerability exists in the PSD thumbnail resource parsing code of OpenImageIO 2.3.19.0. Ra
A heap based buffer overflow vulnerability exists in tile decoding code of TIFF image parser in OpenImageIO master-branc
A heap out-of-bounds write vulnerability exists in the way OpenImageIO v2.3.19.0 processes RLE encoded BMP images. Rated
A heap out of bounds read vulnerability exists in the handling of IPTC data while parsing TIFF images in OpenImageIO v2.
An issue in OpenImageIO oiio v.2.4.12.0 allows a remote attacker to execute arbitrary code and cause a denial of service
Multiple code execution vulnerabilities exist in the IFFOutput::close() functionality of OpenImageIO Project OpenImageIO
Multiple code execution vulnerabilities exist in the IFFOutput::close() functionality of OpenImageIO Project OpenImageIO
Multiple code execution vulnerabilities exist in the IFFOutput::close() functionality of OpenImageIO Project OpenImageIO
Multiple code execution vulnerabilities exist in the IFFOutput::close() functionality of OpenImageIO Project OpenImageIO
EUVD-2026-30392
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB