Katalog CVE

CVE-2026-54692

WysokieCVSS 7.8
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

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.

Ocena ryzyka

Wczytanie złośliwego pliku XBM przez aplikację korzystającą z SAIL może uszkodzić stan procesu, wywołać powtarzalne awarie, a potencjalnie umożliwić wykonanie kodu w kontekście aplikacji. Ryzyko dotyczy każdej aplikacji przetwarzającej niezaufane obrazy XBM.

Rekomendacja

Zaktualizuj bibliotekę SAIL do wersji 1.0.0 lub nowszej. Do czasu aktualizacji unikaj wczytywania niezaufanych plików XBM przez funkcje sail_load_from_file, sail_load_from_memory i sail_start_loading_*.

Inne podatności w SAIL

Zobacz wszystkie
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 1.0.0, sail_codec_load_frame_v8_xbm() in src/sail-codecs/xbm/xbm.c allocates the decoded pixel buffer using the X11 one-byte-per-literal layout, but an X10 static short file causes the flat decode loop to write two file-controlled bytes per literal. When ceil(width/8) produces an odd row stride, the X10 literal count includes a padding byte for every row, but the destination has no space for those bytes, so loading the XBM through sail_load_from_file, sail_load_from_memory, or sail_start_loading_* produces a forward heap overwrite that scales with image height. The X11 static char path is not affected. The overwrite can corrupt process state, cause reliable crashes, and potentially enable code execution in a susceptible consuming application. This issue is fixed in version 1.0.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS