🇰🇷 한글 설명
OpenImageIO에서 잘린 TGA 파일을 처리할 때 GIF 프레임이 남게 되어 발생하는 취약점입니다. gifsplitpalette() 함수 내에서 32비트 정수 연산 시 오버플로가 발생하여 경계 외 읽기(Out-of-bounds read)가 유발되며, 이로 인해 프로세스가 충돌하고 서비스 거부(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.0.21.0, 3.1.16.0, and 3.2.0.3-beta1, A truncated tga can leave a pending gif frame that is processed during output close. gifsplitpalette() computes numpixels multiplied by the palette partition width in signed 32-bit arithmetic; a large image overflows that intermediate, corrupts subpixelsa, and drives an out-of-bounds read while building the gif palette, resulting in a process crash and denial of service. The affected implementation is identified by src/gif.imageio/gif.h, GifSplitPalette(), numPixels, subPixelsA, GIFOutput, and truncated TGA input, which define the relevant source path, functions, state, and trigger. This issue is fixed in versions 3.0.21.0, 3.1.16.0, and 3.2.0.3-beta1.
📍 영향받는 시스템
OpenImageIO 3.0.21.0 미만, 3.1.16.0 미만, 3.2.0.3-beta1 미만 버전
⚔️ 공격 벡터
조작된(truncated) TGA 이미지 파일을 OpenImageIO를 통해 처리하도록 유도
🛡️ 대응 방법
OpenImageIO를 버전 3.0.21.0, 3.1.16.0 또는 3.2.0.3-beta1 이상으로 업데이트
🔧 검증 코드
출력된 버전 정보가 취약점이 해결된 버전(3.0.21.0, 3.1.16.0, 3.2.0.3-beta1 이상)인지 확인합니다.
dpkg -l | grep openimageio || rpm -q openimageio || brew info openimageio