CVE-2026-41069
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
W bibliotece libheif w wersjach 1.21.2 i wcześniejszych wykryto podatność na odczyt poza zakresem podczas parsowania sekwencji HEIF. Specjalnie spreparowany plik może spowodować odmowę usługi (DoS).
Ocena ryzyka
Organizacja narażona jest na ataki DoS poprzez dostarczenie złośliwego pliku HEIF, co może zakłócić działanie aplikacji korzystających z libheif.
Rekomendacja
Należy zaktualizować libheif do wersji 1.21.3 lub nowszej, która zawiera poprawkę.
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-47254Średnie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
libheif is a HEIF and AVIF file format decoder and encoder. In versions 1.21.2 and prior, a malformed HEIF sequence file can trigger an out-of-bounds read in core sequence parsing logic, causing DoS. A malformed file can have stco.entry_count == 0 (creating no chunks) while still passing validation because saio.entry_count == 0 matches, but with saiz.sample_count > 0 the SampleAuxInfoReader constructor still enters its loop. This leads to an out-of-bounds dereference on the empty chunks[0] in chunked mode.

