W bibliotece libtiff 4.0.6 pliki tif_predict.h oraz tif_predict.c zawierają błędy, które mogą prowadzić do przepełnienia bufora sterty (heap buffer overflow) podczas przetwarzania plików TIFF z niestandardowymi rozmiarami kafelków, np. YCbCr z subsampling. Podatność jest krytyczna, ponieważ może być wykorzystana zdalnie bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
tif_predict.h and tif_predict.c in libtiff 4.0.6 have assertions that can lead to assertion failures in debug mode, or buffer overflows in release mode, when dealing with unusual tile size like YCbCr with subsampling. Reported as MSVR 35105, aka "Predictor heap-buffer-overflow."
Błąd ujawnia się w mechanizmie predyktora używanym podczas dekodowania kafelkowanych obrazów TIFF. W trybie debug skutkuje to niepowodzeniem asercji, natomiast w kompilacjach produkcyjnych (release) dochodzi do przepełnienia bufora na stercie. Problem występuje przy przetwarzaniu plików z niestandardowymi rozmiarami kafelków w przestrzeni kolorów YCbCr z subsampling, co powoduje zapis danych poza granicami przydzielonego bufora.
Atakujący może doprowadzić do wykonania dowolnego kodu (RCE) lub awarii aplikacji poprzez dostarczenie spreparowanego pliku TIFF. W najgorszym przypadku możliwe jest przejęcie kontroli nad procesem z uprawnieniami aplikacji przetwarzającej obraz.
Należy zaktualizować libtiff do wersji zawierającej poprawkę dostępną w repozytorium projektu (commit 3ca657a8793dd011bf869695d72ad31c779c3cc1). Dostępne są również patche w ramach aktualizacji Red Hat (RHSA-2017-0225) oraz Debian (DSA-3844). Zaleca się niezwłoczne zastosowanie poprawek producenta lub dystrybucji systemu operacyjnego.
libtiff w wersji 4.0.6 (pliki tif_predict.h oraz tif_predict.c)
Podatność była zgłoszona jako MSVR 35105 (Microsoft Security Vulnerability Research) i publicznie znana pod nazwą 'Predictor heap-buffer-overflow'.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLibtiff
APPLibtiff4.0.6
Powiązane podatności
Libtiff: odczyt spoza bufora przez ujemny indeks w plikach TIFF
LibTIFF: zapis poza buforem sterty w tif_pixarlog.c (PixarLog)
Podatność heap buffer overflow w libtiff 4.0.6 (tiff2pdf)
libtiff: heap-buffer-overflow w TIFFFlushData1 — błąd ścieżki błędu
Out-of-bounds write w libtiff 4.0.6 — narzędzie tiffcrop