---
id: CVE-2026-67549
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 1-bit contiguous cmyk tiff is exposed through a native uint1
  imagespec, so cal…
severity: high
cvss: 7.6
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H'
cwe:
  - CWE-122
  - CWE-131
  - CWE-787
vendor: AcademySoftwareFoundation
product: OpenImageIO
affected:
  - OpenImageIO < 3.1.16.0
published: '2026-09-18'
updated: '2026-09-24'
sourceUpdated: '2026-09-24T21:17:23.270'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-67549'
references:
  - url: >-
      https://github.com/AcademySoftwareFoundation/OpenImageIO/commit/6e9b86ee4cce8fd7bed6cfb101a266d8f8a296d4
    label: security-advisories@github.com
  - url: 'https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/5296'
    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-3wxw-rqhw-j2w4
    label: security-advisories@github.com
  - url: 'https://github.com/user-attachments/files/29615314/poc.zip'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
  - cve.org
  - exploit-available
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-24T20:57:34.673424Z'
epss: 0.00376
epssPercentile: 0.28797
ingestedAt: '2026-09-18T16:45:41.390Z'
---

## Overview

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 1-bit contiguous cmyk tiff is exposed through a native uint1 imagespec, so callers allocate a bit-packed buffer. tiffinput::read_native_scanline_locked() nevertheless invokes tiffinput::bit_convert() with 8-bit output and writes one expanded byte per value into that smaller buffer, resulting in a heap out-of-bounds write and memory corruption. The affected implementation is identified by src/tiff.imageio/tiffinput.cpp, TIFFInput::bit_convert(), TIFFInput::read_native_scanline_locked(), PHOTOMETRIC_SEPARATED, 1-bit CMYK, and native uint1 ImageSpec, which define the relevant source path, functions, state, and trigger. This issue is fixed in 3.1.16.0.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
