🇰🇷 한글 설명
FFmpeg의 AV1 RTP 패킷화 과정에서 정수형 변환 오류로 인해 발생하는 취약점입니다. 64비트 Windows와 같이 long 타입이 32비트인 환경에서 OBU 크기가 음수로 변환되어 크기 검사를 우회할 수 있으며, 이로 인해 메모리 경계를 벗어난 접근이 발생할 수 있습니다.
💡 쉬운 설명
동영상 데이터를 처리하는 과정에서 숫자를 잘못 계산하여 보안 검사를 통과하는 오류가 있습니다. 이를 통해 공격자가 허용된 범위를 넘어서는 데이터를 입력하여 시스템 메모리에 문제를 일으킬 수 있습니다.
🇺🇸 원문 (English)
FFmpeg before commit b4c199c contains an incorrect integer narrowing conversion in the AV1 RTP packetizer (libavformat/rtpenc_av1.c). The OBU size is cast to long before comparison against the remaining frame size. On targets where long is 32 bits, including 64-bit Windows, sufficiently large OBU size values are sign-flipped by the narrowing cast, producing a negative value that passes the payload size check. This allows an oversized OBU to bypass the safety bound on affected platforms, leading to out-of-bounds memory access when the oversized value is subsequently used as a copy length.
📍 영향받는 시스템
FFmpeg (commit b4c199c 이전 버전)
⚔️ 공격 벡터
조작된 AV1 RTP 패킷을 전송하여 메모리 경계 외 접근 유도
🛡️ 대응 방법
FFmpeg를 최신 버전(commit b4c199c 이후)으로 업데이트
🔧 검증 코드
출력된 FFmpeg 버전을 확인하여 취약점이 해결된 최신 커밋 이후 버전인지 대조합니다.
ffmpeg -version | grep -E 'ffmpeg version'