🇰🇷 한글 설명
FFmpeg의 RASC 비디오 디코더에서 행 경계 검사 전 32비트 읽기/쓰기가 수행되고 DLTA 영역 검증이 바이트 단위가 아닌 픽셀 단위로 이루어지는 취약점이 발견되었습니다. 이로 인해 조작된 미디어 스트림을 처리할 때 힙 영역의 경계를 벗어난 쓰기 및 읽기가 발생하여 메모리 오염을 유발할 수 있습니다.
💡 쉬운 설명
특수한 동영상 파일을 재생할 때 프로그램이 정해진 메모리 범위를 벗어나 데이터를 쓰고 읽는 오류가 발생합니다. 이 오류를 이용하면 해커가 컴퓨터의 메모리를 망가뜨리거나 악성 동작을 수행할 수 있습니다.
🇺🇸 원문 (English)
FFmpeg's RASC video decoder (decode_dlta in libavcodec/rasc.c) performs 32-bit reads and writes at the row cursor before the NEXT_LINE row-boundary check and validates the DLTA region in pixel rather than byte units, so a DLTA run on a PAL8 frame can access several bytes past the row allocation. A crafted media stream using the RASC FourCC, decoded by libavcodec, triggers a bitstream-controlled out-of-bounds heap write and adjacent out-of-bounds read, leading to memory corruption.
📍 영향받는 시스템
FFmpeg (libavcodec 내 RASC 디코더 포함 버전)
⚔️ 공격 벡터
RASC FourCC를 사용하는 조작된 미디어 파일을 재생하거나 디코딩할 때 발생
🛡️ 대응 방법
FFmpeg을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 FFmpeg 버전을 확인하여 취약점이 해결된 최신 버전인지 대조하십시오.
ffmpeg -version 2>/dev/null | head -n 1