Description
OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation. Prior to 3.1.16.0, a crafted ZIP-compressed TIFF processed with TIFF multithreading enabled can make TIFFInput::read_native_scanlines() return through an error path while asynchronous strip-decompression work remains queued. Because task_set is declared before ok and compressed_scratch, those captured objects are destroyed before the task-set destructor waits, allowing worker tasks to use stale stack and heap storage, resulting in a use-after-scope crash and denial of service. The affected implementation is identified by src/tiff.imageio/tiffinput.cpp, TIFFInput::read_native_scanlines(), task_set, ok, compressed_scratch, and uncompress_one_strip(), which define the relevant source path, functions, state, and trigger. This issue is fixed in 3.1.16.0.
Affected products
openimageio: openimageio
References5
- github.com/AcademySoftwareFoundation/OpenImageIO/security/advis… ExploitMitigationVendor Advisory
- github.com/AcademySoftwareFoundation/OpenImageIO/security/advis… ExploitMitigationVendor Advisory
- github.com/AcademySoftwareFoundation/OpenImageIO/commit/31201c2… Patch
- github.com/AcademySoftwareFoundation/OpenImageIO/pull/5294 Issue TrackingPatch
- github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v… Release Notes
Metrics
- CVSS 3.1
-
5.3
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H - EPSS — exploit probability
- 0% percentile: 37 · as of 8 November 2026
- CWE
- CWE-825
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.