🇰🇷 한글 설명
OpenImageIO의 FITS 파일 처리 과정에서 발생하는 취약점으로, 종료 키워드가 없는 2880바이트 헤더 블록이 연속되는 조작된 파일을 처리할 때 발생합니다. 이로 인해 fitsinput::read_fits_header() 함수가 제한 없이 재귀 호출되어 애플리케이션 스택을 고갈시키고 서비스 거부(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.20.0, 3.1.15.0, and 3.2.0.3-beta1, A crafted fits stream containing consecutive 2880-byte header blocks without the mandatory end keyword makes fitsinput::read_fits_header() call itself without a depth bound. repeated recursive parsing exhausts the application stack, resulting in denial of service. The affected implementation is identified by src/fits.imageio/fitsinput.cpp, FitsInput::read_fits_header(), END keyword, and 2880-byte FITS header blocks, which define the relevant source path, functions, state, and trigger. This issue is fixed in versions 3.0.20.0, 3.1.15.0, and 3.2.0.3-beta1.
📍 영향받는 시스템
OpenImageIO 버전 3.0.20.0, 3.1.15.0, 3.2.0.3-beta1 미만 버전
⚔️ 공격 벡터
종료 키워드가 누락된 조작된 FITS 이미지 파일을 통해 재귀 호출 유도
🛡️ 대응 방법
OpenImageIO를 3.0.20.0, 3.1.15.0 또는 3.2.0.3-beta1 이상의 버전으로 업데이트
🔧 검증 코드
출력된 OpenImageIO의 버전이 취약점이 해결된 버전(3.0.20.0, 3.1.15.0, 3.2.0.3-beta1 이상)인지 확인합니다.
dpkg -l | grep openimageio 2>/dev/null || rpm -q openimageio 2>/dev/null || brew info openimageio