CVE-2026-61626
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W libass od wersji 0.17.4 do 0.17.5 mechanizm przycinania zdarzeń nie chroni przed ujemnymi wartościami ReadOrder w strumieniu Matroska, co pozwala atakującemu wyzerować bity w kontrolowanych pozycjach w pobliżu wskaźnika NULL. Wymaga to złośliwego strumienia Matroska, włączonego sprawdzania ReadOrder oraz późniejszego przycinania zdarzeń. Podatność naprawiono w wersji 0.17.5.
Ocena ryzyka
Na typowych systemach oczekiwanym skutkiem jest denial of service. Szersza eksploatacja jest teoretyczna i silnie ograniczona przez adresy docelowe, możliwość jedynie zerowania bitów oraz ASLR.
Rekomendacja
Zaktualizuj libass do wersji 0.17.5 lub nowszej. Nie przetwarzaj niezaufanych strumieni Matroska w podatnych wersjach.
Inne podatności w libass
Zobacz wszystkie- CVE-2016-7972Wysokie
Funkcja check_allocations w libass/ass_shaper.c w libass przed wersją 0.13.4 umożliwia zdalnym atakującym spowodowanie awarii usługi (błąd alokacji pamięci) poprzez nieokreślone wektory.
- CVE-2016-7970Wysokie
Przepełnienie bufora w funkcji calc_coeff w pliku ass_blur.c w bibliotece libass przed wersją 0.13.4 umożliwia zdalnym atakującym spowodowanie odmowy usługi za pomocą nieokreślonych wektorów.
- CVE-2016-7969Wysokie
Funkcja wrap_lines_smart w pliku ass_render.c w libass przed wersją 0.13.4 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem) poprzez nieokreślone wektory, związane z 'wyrównywaniem linii 0/3'.
- CVE-2026-61627Wysokie
W libass przed wersją 0.17.5 funkcja wrap_lines_measure może nadpisać tablicę glifów podczas renderowania złośliwej treści ASS. W określonych trybach zawijania linia kończąca się sekwencją backslash-n może spowodować przekroczenie zakresu o jeden glif, prowadząc do odczytu niezainicjowanej wartości i zapisu poza tablicą. Podatność naprawiono w wersji 0.17.5.
- CVE-2026-95127Wysokie
W bibliotece libass w wersji 0.17.5 występuje luka umożliwiająca zdalnemu atakującemu wywołanie odmowy usługi (denial of service) poprzez funkcję ass_outline_construct() w pliku libass/ass_render.c.
Oryginalny opis (angielski, źródło NVD)
libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. From 0.17.4 until 0.17.5, libass event pruning does not guard negative Matroska `ReadOrder` values, allowing an attacker to clear arbitrarily many bits to zero at attacker-controlled positions near the NULL pointer. Exploitation requires a malicious Matroska stream loaded through `ass_process_chunk`, enabled read-order checking, and later pruning of the malicious events. Read-order checking is enabled by default unless `ass_set_check_readorder` is called with zero; pruning must occur explicitly through `ass_prune_events` or through automatic pruning previously enabled with `ass_configure_prune`. On common systems with arithmetic right shift, 32-bit int values, the upper address region reserved to the kernel, and matching binary/kernel architecture, the expected consequence is denial of service. More extensive exploitation on uncommon systems is theoretical and strongly constrained by the target addresses, bit-clearing-only mutation, and ASLR. This issue is fixed in version 0.17.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

