Biblioteka libheif w wersjach 1.19.0–1.21.2 zawiera podatność heap out-of-bounds read podczas dekodowania plików HEIF z układem siatkowym, gdy obecna jest transformacja irot. Błąd może prowadzić do ujawnienia fragmentów pamięci lub awarii aplikacji korzystającej z biblioteki.
▸ Pokaż oryginał (EN)
libheif is a HEIF and AVIF file format decoder and encoder. Versions 1.19.0 through 1.21.2 have a heap OOB read in ImageItem_Grid::decode_grid_tile via irot-induced tile-coordinate underflow. Version 1.22.0 fixes the issue.
Podatność wynika z integer underflow (CWE-191) we współrzędnych kafelków generowanych przez transformację obrotu irot podczas dekodowania siatki obrazu (ImageItem_Grid::decode_grid_tile). Niedostateczna walidacja powoduje, że obliczone współrzędne przyjmują wartości ujemne, co następnie skutkuje odczytem poza granicami bufora sterty (CWE-125). Specjalnie spreparowany plik HEIF lub AVIF może wyzwolić ten błąd w momencie przetwarzania go przez aplikację.
Atakujący może spowodować awarię (crash) aplikacji przetwarzającej złośliwy plik, co skutkuje odmową usługi (DoS), a potencjalnie również ujawnieniem ograniczonej ilości danych z pamięci procesu.
Należy zaktualizować libheif do wersji 1.22.0, która eliminuje opisaną podatność. Patch dostępny jest w repozytorium projektu (commit e523ec0bf379110b7c33d4c159f8b1202d332157). Do czasu aktualizacji zaleca się ograniczenie przetwarzania plików HEIF/AVIF pochodzących z niezaufanych źródeł.
libheif w wersjach od 1.19.0 do 1.21.2 włącznie. Dotyczy wszystkich aplikacji i systemów wykorzystujących tę bibliotekę do dekodowania plików HEIF lub AVIF.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:HStruktur Libheif
APPStruktur1.19.0 – 1.22.0 (bez)
Powiązane podatności
libheif: wyciek pamięci sterty jako piksele w dekodowanych obrazach AVIF/HEIC
libheif is a HEIF and AVIF file format decoder and encoder. Versions 1.21.2 and prior contain a heap-buffer-ov...
In Libheif 1.17.6, insufficient checks in ImageOverlay::parse() decoding a heif file containing an overlay ima...
libheif <= 1.17.6 contains a memory leak in the function JpegEncoder::Encode. This flaw allows an attacker to ...
libheif v1.17.5 was discovered to contain a segmentation violation via the component /libheif/exif.cc.