🇰🇷 한글 설명
OpenEXR 3.4.0부터 3.4.12 버전의 exr_attr_set_bytes() 함수에서 NULL 포인터 역참조 취약점이 발견되었습니다. hint_length가 0보다 클 때 type_hint 포인터가 NULL인 경우를 검증하지 않아 프로그램이 비정상 종료될 수 있습니다. 이 취약점은 OpenEXRCore C API를 통해 접근 가능하며 서비스 거부(DoS)를 유발합니다.
💡 쉬운 설명
이미지 파일을 처리하는 프로그램에서 잘못된 데이터 형식을 입력받으면 프로그램이 갑자기 꺼지는 문제입니다. 공격자가 특수하게 조작된 파일을 통해 시스템을 멈추게 할 수 있습니다.
🇺🇸 원문 (English)
OpenEXR is the reference implementation and specification for the EXR high-dynamic-range image file format, widely used in the motion picture industry. Versions 3.4.0 through 3.4.12 contain a NULL pointer dereference in the OpenEXRCore function exr_attr_set_bytes(). The public setter validates the top-level exr_attr_bytes_t value pointer but does not verify that the nested type_hint pointer is non-NULL when hint_length is greater than zero. When a caller supplies a positive hint_length together with a NULL type_hint, exr_attr_bytes_create() allocates a destination type-hint buffer and then copies from the NULL source pointer, causing a deterministic crash. The flaw is reachable through the public OpenEXRCore C API and results in a denial of service. The issue is fixed in version 3.4.13.
📍 영향받는 시스템
OpenEXR versions 3.4.0 through 3.4.12
⚔️ 공격 벡터
조작된 hint_length와 NULL type_hint를 포함한 데이터를 OpenEXRCore C API를 통해 전달
🛡️ 대응 방법
OpenEXR 버전을 3.4.13 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 3.4.13 미만이면 취약한 버전이 설치된 것입니다.
pkg-config --modversion OpenEXR 2>/dev/null || echo 'Not installed'