🇰🇷 한글 설명
FFmpeg 3.0부터 9.0 미만 버전의 Screenpresso 디코더에서 초기화되지 않은 힙 메모리 읽기 취약점이 발견되었습니다. 공격자가 조작된 SPV1 패킷을 제공할 경우, 디코딩 과정에서 이전 메모리에 남아있던 민감한 데이터가 출력 버퍼로 복사되어 유출될 수 있습니다.
💡 쉬운 설명
특수하게 만들어진 영상 파일을 재생할 때, 컴퓨터 메모리에 남아있던 비밀번호나 개인정보 같은 민감한 데이터가 화면에 노출되거나 유출될 수 있는 문제입니다. 영상 파일의 압축을 푸는 과정에서 데이터 크기를 제대로 확인하지 않아 발생합니다.
🇺🇸 원문 (English)
FFmpeg versions from 3.0 up to, but not including, 9.0 contain an uninitialized heap memory read vulnerability in the native Screenpresso decoder (libavcodec/screenpresso.c) that allows attackers to recover sensitive memory contents by supplying a crafted SPV1 packet with a valid zlib stream that decompresses fewer bytes than the full frame requires. The screenpresso_decode_frame() function fails to validate the produced byte count before calling av_image_copy_plane() to copy the complete frame dimensions from the persistent ctx->inflated_buf buffer, causing unwritten heap memory from prior allocations or prior frames to be copied into decoded output and potentially exposing sensitive data such as userspace addresses from persistent decoding services.
📍 영향받는 시스템
FFmpeg versions 3.0 up to (but not including) 9.0
⚔️ 공격 벡터
조작된 SPV1 패킷을 포함한 악성 영상 파일 제공을 통한 원격 공격
🛡️ 대응 방법
FFmpeg를 9.0 이상의 최신 버전으로 업데이트하거나 해당 디코더 사용을 제한하십시오.
🔧 검증 코드
명령어 결과에 버전 번호가 출력되면 취약한 버전이 설치되어 있는 상태입니다.
ffmpeg -version | grep -E 'version [3-8]\.'