CVE-2026-70630
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
W FFmpeg od wersji 3.0 do 9.0 (bez 9.0) występuje podatność na odczyt niezainicjalizowanej pamięci sterty w natywnym dekoderze Screenpresso (libavcodec/screenpresso.c). Atakujący może dostarczyć spreparowany pakiet SPV1 z prawidłowym strumieniem zlib, który dekompresuje mniej bajtów niż wymaga pełna klatka. Funkcja screenpresso_decode_frame() nie sprawdza liczby wyprodukowanych bajtów przed wywołaniem av_image_copy_plane(), co powoduje skopiowanie niezapisanej pamięci sterty z bufora ctx->inflated_buf do wyjścia.
Ocena ryzyka
Może to prowadzić do ujawnienia wrażliwych danych z pamięci sterty, takich jak adresy przestrzeni użytkownika, w usługach przetwarzających wideo.
Rekomendacja
Zaktualizuj FFmpeg do wersji 9.0 lub nowszej, która zawiera poprawkę.
Inne podatności w FFmpeg
Zobacz wszystkie- CVE-2017-15672Wysokie
Funkcja read_header w libavcodec/ffv1dec.c w FFmpeg 2.4 i 3.3.4 oraz prawdopodobnie wcześniejszych wersjach pozwala zdalnym atakującym na wywołanie nieokreślonego wpływu poprzez spreparowany plik MP4, co prowadzi do odczytu poza przydzielonym zakresem.
- CVE-2017-14767Wysokie
Funkcja sdp_parse_fmtp_config_h264 w libavformat/rtpdec_h264.c w FFmpeg przed wersją 3.3.4 niewłaściwie obsługuje puste wartości sprop-parameter-sets, co pozwala zdalnym atakującym na spowodowanie odmowy usługi (przepełnienie bufora na stercie) lub potencjalnie inny nieokreślony wpływ za pomocą spreparowanego pliku sdp.
- CVE-2017-14225Wysokie
Funkcja av_color_primaries_name w libavutil/pixdesc.c w FFmpeg 3.3.3 może zwracać wskaźnik NULL w zależności od wartości zawartej w pliku, co prowadzi do dereferencji wskaźnika NULL w funkcji avcodec_string w libavcodec/utils.c.
- CVE-2012-2805Wysokie
Nieokreślona podatność w FFMPEG 0.10 umożliwia zdalnym atakującym spowodowanie odmowy usługi.
- CVE-2017-11719Wysokie
Funkcja dnxhd_decode_header w libavcodec/dnxhddec.c w FFmpeg w wersjach od 3.0 do 3.3.2 umożliwia zdalnym atakującym spowodowanie odmowy usługi (dostęp poza zakresem tablicy) lub potencjalnie inny nieokreślony wpływ poprzez spreparowany plik DNxHD.
- CVE-2017-11665Wysokie
Funkcja ff_amf_get_field_value w libavformat/rtmppkt.c w FFmpeg 3.3.2 umożliwia zdalnym serwerom RTMP spowodowanie odmowy usługi poprzez przygotowany strumień, co prowadzi do naruszenia segmentacji i awarii aplikacji.
- CVE-2017-9996Wysokie
Funkcja cdxl_decode_frame w libavcodec/cdxl.c w FFmpeg przed wersjami 2.8.12, 3.0.8, 3.1.8, 3.2.5 i 3.3.1 nie wyklucza formatu CHUNKY, co pozwala zdalnym atakującym na spowodowanie odmowy usługi (przepełnienie bufora na stercie i awaria aplikacji) lub potencjalnie inny nieokreślony wpływ za pomocą spreparowanego pliku.
- CVE-2017-9995Wysokie
W bibliotece libavcodec/scpr.c w FFmpeg w wersji 3.3 i wcześniejszych, przed wersją 3.3.1, nieprawidłowo walidowane są dane dotyczące wysokości i szerokości, co umożliwia zdalnym atakującym spowodowanie odmowy usługi (przepełnienie bufora na stercie i awaria aplikacji) lub potencjalnie inny nieokreślony wpływ za pomocą spreparowanego pliku.
- CVE-2017-9993Wysokie
FFmpeg w wersjach przed 2.8.12, 3.0.x i 3.1.x przed 3.1.9, 3.2.x przed 3.2.6 oraz 3.3.x przed 3.3.2 nie ogranicza prawidłowo rozszerzeń nazw plików HTTP Live Streaming oraz nazw demuxerów, co pozwala atakującym na odczyt dowolnych plików za pomocą spreparowanych danych playlisty.
- CVE-2017-9992Wysokie
W funkcji decode_dds1 w libavcodec/dfa.c w FFmpeg przed wersją 2.8.12, 3.0.x przed 3.0.8, 3.1.x przed 3.1.8, 3.2.x przed 3.2.5 i 3.3.x przed 3.3.1 występuje przepełnienie bufora oparte na stercie. Umożliwia to zdalnym atakującym spowodowanie awarii aplikacji lub potencjalnie innych nieokreślonych skutków poprzez spreparowany plik.
Oryginalny opis (angielski, źródło NVD)
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.

