🇰🇷 한글 설명
FFmpeg의 RIST 프로토콜 리더(libavformat/librist.c)에서 힙 버퍼 오버플로 취약점이 발견되었습니다. librist_read() 함수가 크기 인자를 무시하고 수신된 페이로드 전체를 대상 버퍼로 복사하여, 페이로드가 버퍼 크기를 초과할 경우 메모리 오버플로가 발생합니다. 공격자는 RIST 프로토콜을 통해 악의적인 패킷을 전송하여 이를 트리거할 수 있습니다.
💡 쉬운 설명
FFmpeg 프로그램이 데이터를 읽어올 때, 준비된 그릇보다 더 큰 데이터를 강제로 밀어 넣어 프로그램이 고장 나거나 해킹당할 수 있는 문제입니다. 멀리 떨어진 공격자가 특수한 데이터를 보내는 것만으로도 발생할 수 있습니다.
🇺🇸 원문 (English)
FFmpeg before commit 1c10bcc contains a heap buffer overflow in the RIST protocol reader (libavformat/librist.c). librist_read() ignored its size argument and copied the full received payload length into the caller-provided destination buffer, overflowing it when the payload exceeds the destination size. This is reachable via the async:rist:// URL scheme, where the async wrapper supplies a smaller buffer than the received payload. A remote RIST sender can trigger the overflow by sending a packet whose payload exceeds the caller buffer size.
📍 영향받는 시스템
FFmpeg (commit 1c10bcc 이전 버전)
⚔️ 공격 벡터
원격의 공격자가 RIST 프로토콜(async:rist://)을 사용하여 크기가 큰 페이로드를 포함한 패킷을 전송
🛡️ 대응 방법
FFmpeg를 최신 커밋(1c10bcc 이후)이 포함된 버전으로 업데이트하거나 패치 적용
🔧 검증 코드
명령어 결과가 'Vulnerable'이면 취약한 버전이며, 'Patched'이면 수정된 버전입니다.
git log -1 --format=%H | grep -q '1c10bcc' && echo 'Patched' || echo 'Vulnerable'