{"id":"CVE-2026-65970","title":"OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation","summary":"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 TIFFIn…","severity":"medium","cvss":5.3,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H","cwe":["CWE-825"],"vendor":"AcademySoftwareFoundation","product":"OpenImageIO","affected":["OpenImageIO < 3.1.16.0"],"published":"2026-09-18","updated":"2026-09-18","sourceUpdated":"2026-09-18T17:16:59.900","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-65970","references":[{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/commit/31201c22df477b105b105c0dcfbf5d3d46db431b","label":"security-advisories@github.com"},{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/5294","label":"security-advisories@github.com"},{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v3.1.16.0","label":"security-advisories@github.com"},{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-v278-gpwr-r836","label":"security-advisories@github.com"},{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-v278-gpwr-r836","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd","cve.org","exploit-available"],"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-09-18T16:41:51.587127Z"},"ingestedAt":"2026-09-18T16:45:41.389Z","epss":0.00373,"epssPercentile":0.3106,"slug":"CVE-2026-65970","body":"## Overview\n\nOpenImageIO 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":29.2,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":207048,"id":"CVE-2026-65970","ts":1789753636927,"field":"exploit_available","old":"false","new":"true"}]}