CVE-2026-47254
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 - wyżej niż 5% wszystkich znanych CVE
Streszczenie
Podatność w libheif przed wersją 1.22.0 powoduje przepełnienie bufora sterty podczas odczytu plików HEIF/AVIF. Funkcja Track::init_sample_timing_table() zapisuje nieprawidłowy indeks fragmentu, co prowadzi do odczytu poza zakresem.
Ocena ryzyka
Ryzyko zdalnego wykonania kodu lub awarii aplikacji przetwarzającej złośliwe pliki HEIF/AVIF.
Rekomendacja
Zaktualizuj libheif do wersji 1.22.0 lub nowszej.
Inne podatności w libheif
Zobacz wszystkie- CVE-2026-62377Średnie
Podatność w libheif (wersje do 1.23.0) pozwala na crash aplikacji przez specjalnie spreparowaną sekwencję HEIF, która nie rejestruje ścieżek śledzenia, co prowadzi do asercji lub niezdefiniowanego zachowania przy wywołaniu heif_context_get_track.
- CVE-2026-62292Wysokie
Podatność w bibliotece libheif (wersje 1.19.0 do 1.23.1) powodująca awarię aplikacji podczas dekodowania specjalnie spreparowanego obrazu HEIF z kompresją zlib. Błąd w obliczaniu offsetu prowadzi do odczytu poza zakresem i crasha.
- CVE-2026-62291Średnie
Podatność w libheif (wersje do 1.23.0) pozwala na uszkodzenie pamięci (heap corruption) przez spreparowaną sekwencję obrazów z niezgodnymi wymiarami płaszczyzn alfa, co prowadzi do zapisu poza zakresem podczas kodowania.
- CVE-2026-62289Średnie
Podatność w libheif (wersje do 1.23.0) pozwala na crash lub uszkodzenie wyników tiling przez spreparowany plik HEIF/AVIF z polem clean aperture, które redukuje wymiary do zera, powodując niedomiar i asercję lub błędne wyniki.
- CVE-2026-50142Wysokie
libheif w wersjach od 1.19.0 do 1.23.0 zawiera podatność na niekontrolowaną alokację pamięci w przypadku specjalnie spreparowanego pliku HEIF z sekwencją msf1. W Box_stsz::parse() limit max_sequence_frames jest stosowany tylko do próbek o zmiennym rozmiarze, a w Track::load() arytmetyka 32-bitowa może prowadzić do obejścia kontroli spójności. Może to spowodować alokację gigabajtów pamięci, co prowadzi do awarii lub zawieszenia procesu.
- CVE-2026-48029Wysokie
Biblioteka libheif w wersjach od 1.19.0 do 1.21.2 zawiera podatność polegającą na odczycie poza zakresem sterty (heap OOB read) w funkcji ImageItem_Grid::decode_grid_tile, spowodowaną niedomiarem współrzędnych kafelka wywołanym przez irot. Wersja 1.22.0 zawiera poprawkę.
- CVE-2026-47709Średnie
Podatność w bibliotece libheif przed wersją 1.22.0. Podczas dekodowania złośliwego pliku HEIF bez właściwości `ispe` (ale z `uncC`) dochodzi do crasha w funkcji `heif_image_handle_get_image_tiling()` – w debug buildzie przez asercję, w release/ASan przez odczyt null pointera.
- CVE-2026-47251Średnie
Podatność w libheif przed wersją 1.22.0. Łatka dla CVE-2026-3949 wprowadziła przepełnienie liczb całkowitych w sprawdzeniu bezpieczeństwa, co pozwala na ominięcie zabezpieczenia i wywołanie odczytu poza stertą (out-of-bounds heap read) przez spreparowany plik HEIF z ścieżką VVC.
- CVE-2026-47247Wysokie
Dwa błędy w bibliotece libheif przed wersją 1.22.0 umożliwiają wyciek pamięci sterty jako widoczne wartości pikseli w zdekodowanych obrazach siatki. Atakujący przesyłający spreparowany plik AVIF/HEIC do serwerowego procesora obrazów (WordPress, Sharp/libvips, ImageMagick itp.) może odzyskać dane sterty, w tym wskaźniki funkcji bibliotecznych wystarczające do pokonania ASLR, z publicznie dostępnego wyjścia JPEG/PNG/WebP.
- CVE-2026-47178Średnie
Podatność w libheif w wersjach 1.19.0 do 1.21.2 pozwala na zapis poza zakresem sterty w dekoderze nieskompresowanych kafelków. Złośliwy plik HEIF może nadpisać wskaźnik vtable, co prowadzi do wykonania kodu.
Oryginalny opis (angielski, źródło NVD)
libheif is a HEIF and AVIF file format decoder and encoder. Prior to version 1.22.0, `Track::init_sample_timing_table()` in `libheif/sequences/track.cc` stores an out-of-bounds chunk index (`m_chunks.size()`) into `m_presentation_timeline` when the number of chunks defined in the `stco` box is less than the number of samples in `stsz`. A subsequent call to `heif_track_get_next_raw_sequence_sample()` reads `m_chunks[chunk_idx]` with that OOB index, causing a heap-buffer-overflow. Version 1.22.0 fixes the issue.

