🇰🇷 한글 설명
OpenImageIO 3.1.16.0 미만 버전에서 멀티스레딩이 활성화된 상태로 조작된 ZIP 압축 TIFF 파일을 처리할 때 발생합니다. 오류 경로로 인해 비동기 작업이 큐에 남은 상태에서 객체가 먼저 파괴되어, 워커 태스크가 유효하지 않은 메모리에 접근하는 Use-after-scope 취약점이 발생하며 이는 서비스 거부(DoS)로 이어질 수 있습니다.
💡 쉬운 설명
특수하게 제작된 이미지 파일을 열 때 프로그램이 사용하는 메모리 관리 과정에서 오류가 발생합니다. 이로 인해 프로그램이 갑자기 종료되어 작업을 수행할 수 없는 상태가 됩니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
OpenImageIO 버전 3.1.16.0 미만
⚔️ 공격 벡터
조작된 ZIP 압축 TIFF 파일을 OpenImageIO를 통해 처리하도록 유도
🛡️ 대응 방법
OpenImageIO를 3.1.16.0 이상 버전으로 업데이트
🔧 검증 코드
출력된 버전 번호가 3.1.16.0보다 낮은지 확인합니다.
dpkg -l | grep openimageio 2>/dev/null || rpm -q openimageio 2>/dev/null || brew list --versions openimageio