🇰🇷 한글 설명
FFmpeg 9.0.2 이하 버전의 libavcodec/dvbsubenc.c에 있는 dvbsub_encode() 함수에서 힙 버퍼 오버플로우 취약점이 발견되었습니다. 각 CLUT 세그먼트 헤더 크기를 2바이트 적게 계산하여, 다수의 비트맵 자막 사각형을 포함한 파일을 dvbsub 인코더로 트랜스코딩하면 출력 버퍼를 넘어 힙 메모리가 손상됩니다.
💡 쉬운 설명
동영상 자막을 변환하는 과정에서 메모리 계산이 잘못되어 프로그램이 정해진 공간을 넘어 데이터를 쓰게 됩니다. 이로 인해 프로그램이 비정상 종료되거나 공격자가 악의적인 코드를 실행할 수 있습니다.
🇺🇸 원문 (English)
FFmpeg through 9.0.2 contains a heap buffer overflow vulnerability in dvbsub_encode() in libavcodec/dvbsubenc.c that undercounts each CLUT segment header by two bytes. Attackers can supply a file with many bitmap subtitle rectangles that, when transcoded to the dvbsub encoder, writes past the output buffer and corrupts heap memory.
📍 영향받는 시스템
FFmpeg 9.0.2 이하 버전 (libavcodec dvbsub 인코더를 사용하는 모든 환경)
⚔️ 공격 벡터
자막 비트맵 사각형이 대량으로 포함된 조작된 미디어 파일을 FFmpeg로 DVB 자막 형식으로 트랜스코딩하게 만드는 방식
🛡️ 대응 방법
FFmpeg를 취약점이 수정된 최신 버전으로 업데이트하고, 신뢰할 수 없는 미디어 파일의 DVB 자막 트랜스코딩을 피합니다.
🔧 검증 코드
출력된 버전 번호가 9.0.2 이하이면 취약 가능성이 있으므로 배포판 보안 공지 또는 패키지 관리자로 수정 버전 설치 여부를 확인해야 합니다.
ffmpeg -version 2>/dev/null | head -n 1