FFmpeg w wersjach od 0.6.3 do 8.1.2 zawiera podatność nieskończonej pętli w demuxerze RTP/ASF (libavformat/rtpdec_asf.c), umożliwiającą zdalnym atakującym wywołanie odmowy usługi (DoS). Wysłanie specjalnie spreparowanego strumienia RTP/ASF prowadzi do wyczerpania zasobów CPU.
▸ Pokaż oryginał (EN)
FFmpeg versions 0.6.3 through 8.1.2 contain an infinite loop vulnerability in the RTP/ASF demuxer within libavformat/rtpdec_asf.c that allows remote attackers to cause denial of service by sending a crafted RTP/ASF stream. The rtp_asf_fix_header function fails to validate a minimum chunksize when iterating over ASF objects, causing the loop pointer to never advance when a chunksize is smaller than the 24-byte minimum ASF object header size, resulting in CPU exhaustion that denies service to legitimate users.
Funkcja rtp_asf_fix_header nie waliduje minimalnego rozmiaru fragmentu (chunksize) podczas iteracji po obiektach ASF. Gdy wartość chunksize jest mniejsza niż wymagane minimum 24 bajtów nagłówka obiektu ASF, wskaźnik pętli nigdy nie jest przesuwany do przodu. Powoduje to zapętlenie procesu przetwarzania w nieskończoność, co skutkuje pełnym zajęciem zasobów CPU. Atakujący nie potrzebuje żadnego uwierzytelnienia ani interakcji po stronie użytkownika — wystarczy przesłanie odpowiednio spreparowanego strumienia sieciowego.
Atakujący może zdalnie doprowadzić do całkowitego wyczerpania zasobów CPU na serwerze lub urządzeniu przetwarzającym strumień RTP/ASF, uniemożliwiając świadczenie usług prawowitym użytkownikom (denial of service).
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka dostępna w repozytorium FFmpeg (commit 11d5f475be95d22d5f0692220cc772b116abc632). Zaleca się aktualizację do wersji zawierającej wskazaną poprawkę. W środowiskach, gdzie aktualizacja nie jest natychmiastowo możliwa, należy rozważyć ograniczenie przyjmowania niezaufanych strumieni RTP/ASF na poziomie firewall lub warstwy sieciowej.
FFmpeg w wersjach od 0.6.3 do 8.1.2 (włącznie)
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XFfmpeg
APPFfmpeg0.6.3 – 8.1.2
Powiązane podatności
Double Free w FFmpeg — podatność w dekoderze RKMPP (libavcodec)
FFmpeg: Out-of-bounds Read w dekoderze VP8 na architekturze PowerPC (AltiVec)
FFmpeg: Integer Overflow w parse_options (sbgdec.c) — moduł libavformat
FFmpeg: nieprawidłowa walidacja indeksu tablicy w dekodowaniu H.266
Integer overflow w FFmpeg — RCE przez parser JPEG XL