CVE-2026-59959
ŚrednieCVSS 4.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W bibliotece SAIL w wersjach przed 1.0.2 wbudowany dekoder WebP może ulec awarii podczas inicjalizacji loadera przy przetwarzaniu zniekształconego animowanego pliku WebP z niespójnymi metadanymi kontenera lub ramki ANMF. Wartość zero szerokości obrazu jest używana jako dzielnik przy obliczaniu bytes_per_pixel, co powoduje błąd arytmetyczny i zakończenie procesu.
Ocena ryzyka
Aplikacje przyjmujące niezaufane obrazy WebP mogą doświadczyć odmowy usługi wskutek zakończenia procesu; wymagane jest włączenie podatnego kodeka WebP w kompilacji.
Rekomendacja
Zaktualizuj bibliotekę SAIL do wersji 1.0.2 lub nowszej, która naprawia błąd dekodera WebP.
Inne podatności w SAIL
Zobacz wszystkie- CVE-2026-54627Krytyczne
Biblioteka SAIL w wersji 0.9.10 i wcześniejszych zawiera błąd niezgodności trybu i głębi kolorów podczas wczytywania plików PSD w trybie Bitmap. Funkcja psd_private_sail_pixel_format() zwraca format jednobitowy, podczas gdy loader akceptuje głębię 8, co powoduje zapis poza buforem sterty i prowadzi do uszkodzenia pamięci, awarii lub potencjalnego wykonania kodu.
- CVE-2026-54626Krytyczne
Biblioteka SAIL w wersji 0.9.10 i wcześniejszych zawiera niekompletną poprawkę podatności CVE-2026-40494 w ścieżce TGA_INDEXED_RLE. Bufor obrazu jest alokowany jako jednobajtowy na piksel, ale loader wylicza szerszy rozmiar piksela na podstawie kontrolowanej przez atakującego wartości bpp, co prowadzi do zapisu poza buforem sterty i uszkodzenia pamięci.
- CVE-2026-54692Wysokie
W bibliotece SAIL przed wersją 1.0.0 funkcja sail_codec_load_frame_v8_xbm() w src/sail-codecs/xbm/xbm.c alokuje bufor pikseli według układu X11 (jeden bajt na literał), ale plik X10 static short powoduje, że pętla dekodowania zapisuje dwa kontrolowane bajty na literał. Gdy ceil(width/8) daje nieparzysty stride wiersza, liczba literałów X10 obejmuje bajt paddingu dla każdego wiersza, którego nie ma w buforze docelowym, co prowadzi do przepełnienia sterty w przód skalowanego z wysokością obrazu. Luka jest naprawiona w wersji 1.0.0.
Oryginalny opis (angielski, źródło NVD)
SAIL is a cross-platform library for loading and saving images with support for animation, metadata, and ICC profiles. Prior to version 1.0.2, the built-in WebP decoder can crash during loader initialization when processing a malformed animated WebP file with inconsistent container or `ANMF` frame metadata. In `sail_codec_load_init_v8_webp()` in `src/sail-codecs/webp/webp.c`, `WebPDemuxGetI` with `WEBP_FF_CANVAS_WIDTH` can return a zero `image_local->width`, which is then used as a divisor when calculating `bytes_per_pixel` from the image row size. The division happens before frame decoding and before generic image skeleton validation in `src/sail/sail_advanced.c`, causing an arithmetic fault and process termination. Applications accepting untrusted WebP images can consequently suffer denial of service; builds must include the affected WebP codec. This issue is fixed in version 1.0.2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

