libsixel before 1.8.7-r1 and 1.9.0 through 1.10.5 contains a heap out-of-bounds write vulnerability in gif_init_frame() in src/fromgif.c, which never checks the GIF transparent color index against the palette size. Attackers can supply a crafted GIF with a small color table and large transparent index, processed with a background color set, to write bytes past the palette buffer, causing heap corruption or crashes.
https://hackmd.io/@haind-pwn/libsixel-gif-transparent-index-oob-write
https://github.com/saitoha/libsixel/releases/tag/v1.8.7-r1
https://github.com/saitoha/libsixel/issues/220
https://github.com/saitoha/libsixel/commit/bdbab09816eb9188429c37a50b97c5e66dfe5047
https://github.com/saitoha/libsixel/blob/v1.8.7/src/fromgif.c#L182-L248
https://github.com/libsixel/libsixel/blob/v1.10.5/src/fromgif.c#L219-L240
Published: 2026-10-14
Updated: 2026-10-16
Base Score: 5.6
Vector: CVSS2#AV:L/AC:H/Au:N/C:N/I:C/A:C
Severity: Medium
Base Score: 6.3
Vector: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H
Severity: Medium
Base Score: 5.8
Vector: CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
Severity: Medium
EPSS: 0.00173