CVE-2024-47606
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 78 - wyżej niż 78% wszystkich znanych CVE
Streszczenie
W GStreamer wykryto niedomiar liczby całkowitej w funkcji qtdemux_parse_theora_extension w qtdemux.c. Prowadzi to do przepełnienia rozmiaru alokacji, nadpisania struktury GstMapInfo i potencjalnego przejęcia wskaźnika funkcji, co może umożliwić wykonanie dowolnego kodu.
Ocena ryzyka
Przetwarzanie złośliwego pliku multimedialnego może doprowadzić do wykonania dowolnego kodu w kontekście aplikacji korzystającej z GStreamer, co stanowi poważne ryzyko dla stacji roboczych i serwerów przetwarzających media.
Rekomendacja
Zaktualizuj GStreamer do wersji 1.24.10 lub nowszej i unikaj przetwarzania niezaufanych plików multimedialnych do czasu wdrożenia poprawki.
Inne podatności w GStreamer
Zobacz wszystkie- CVE-2026-17072Niskie
W GStreamer (gst-plugins-good) występuje podatność na odczyt poza zakresem sterty o 4 bajty podczas parsowania nagłówków strumienia audio FLAC osadzonych w plikach Matroska lub WebM. Sprawdzenie granic nie uwzględnia pełnego rozmiaru kopiowanych danych, co pozwala na odczyt poza przydzielonym buforem. Atakujący może wykorzystać to przez spreparowanie złośliwego pliku Matroska lub WebM i nakłonienie użytkownika do jego otwarcia.
- CVE-2017-5843Wysokie
Wielokrotne podatności typu use-after-free w funkcjach gst_mini_object_unref, gst_tag_list_unref oraz gst_mxf_demux_update_essence_tracks w GStreamer przed wersją 1.10.3 mogą umożliwić zdalnym atakującym spowodowanie awarii systemu poprzez wykorzystanie tagów strumieniowych.
- CVE-2017-5840Wysokie
Funkcja qtdemux_parse_samples w gst/isomp4/qtdemux.c w GStreamer przed wersją 1.10.3 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza granicami sterty) poprzez manipulację bieżącym indeksem stts.
- CVE-2017-5838Wysokie
Funkcja gst_date_time_new_from_iso8601_string w GStreamer przed wersją 1.10.3 umożliwia zdalnym atakującym spowodowanie odmowy usługi poprzez nieprawidłowy ciąg daty i czasu, co prowadzi do odczytu pamięci poza przydzielonym obszarem.
- CVE-2016-9447Wysokie
Mapowania ROM w dekoderze NSF w gstreamer 0.10.x umożliwiają zdalnym atakującym spowodowanie odmowy usługi (odczyt lub zapis poza zakresem) oraz potencjalne wykonanie dowolnego kodu za pomocą spreparowanego pliku muzycznego NSF.
- CVE-2016-9446Wysokie
Dekoder vmnc w gstreamer nie inicjalizuje płótna renderującego, co pozwala zdalnym atakującym na uzyskanie wrażliwych informacji. Przykładem jest miniaturyzacja prostego filmu vmnc składającego się z jednego klatki, który nie rysuje na przydzielonym płótnie renderującym.
- CVE-2016-9445Wysokie
Przepełnienie całkowite w dekoderze vmnc w gstreamer umożliwia zdalnym atakującym spowodowanie awarii usługi poprzez podanie dużych wartości szerokości i wysokości, co prowadzi do przepełnienia bufora.
- CVE-2016-9809Wysokie
Błąd off-by-one w funkcji gst_h264_parse_set_caps w GStreamer przed wersją 1.10.2 umożliwia zdalnym atakującym wywołanie nieokreślonego wpływu poprzez spreparowany plik, co prowadzi do odczytu poza przydzielonym zakresem.
- CVE-2016-9808Wysokie
Dekoder FLIC w GStreamer przed wersją 1.10.2 pozwala zdalnym atakującym na spowodowanie odmowy usługi (błąd zapisu poza zakresem i awaria) poprzez odpowiednio przygotowaną serię par skip i count.
- CVE-2026-111183Krytyczne
W elemencie rtpL16depay biblioteki GStreamer występuje przepełnienie bufora na stercie wynikające z braku walidacji długości danych przed kopiowaniem. Umożliwia to zdalnemu atakującemu wykonanie dowolnego kodu w kontekście procesu aplikacji.
Oryginalny opis (angielski, źródło NVD)
GStreamer is a library for constructing graphs of media-handling components. An integer underflow has been detected in the function qtdemux_parse_theora_extension within qtdemux.c. The vulnerability occurs due to an underflow of the gint size variable, which causes size to hold a large unintended value when cast to an unsigned integer. This 32-bit negative value is then cast to a 64-bit unsigned integer (0xfffffffffffffffa) in a subsequent call to gst_buffer_new_and_alloc. The function gst_buffer_new_allocate then attempts to allocate memory, eventually calling _sysmem_new_block. The function _sysmem_new_block adds alignment and header size to the (unsigned) size, causing the overflow of the 'slice_size' variable. As a result, only 0x89 bytes are allocated, despite the large input size. When the following memcpy call occurs in gst_buffer_fill, the data from the input file will overwrite the content of the GstMapInfo info structure. Finally, during the call to gst_memory_unmap, the overwritten memory may cause a function pointer hijack, as the mem->allocator->mem_unmap_full function is called with a corrupted pointer. This function pointer overwrite could allow an attacker to alter the execution flow of the program, leading to arbitrary code execution. This vulnerability is fixed in 1.24.10.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

