Skip to content
OpenAdvisories
High · 7.1 CVE-2026-44637 EUVD-2026-30412

libsixel: integer overflow in parser

Published May 14, 2026 · Updated May 15, 2026 · Assigned by GitHub_M

Description

libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. From to 1.8.7-r1, a signed integer overflow in the SIXEL parser's image-buffer doubling loop can lead to an out-of-bounds heap write in sixel_decode_raw_impl. context->pos_x grows by repeat_count on every sixel character with no upper bound check. Once pos_x approaches INT_MAX, the expression "pos_x + repeat_count" used to size the image buffer overflows signed int. Depending on how the overflow wraps, the resize check that should reject oversized buffers can be bypassed, after which a subsequent write computes a large attacker-influenced offset into image->data and writes past the allocation. Reachable from any caller that decodes attacker-supplied SIXEL data, including img2sixel. This vulnerability is fixed in 1.8.7-r2.

Affected products

VendorProductAffectedFixed
saitoha libsixel >= 0.11.0, < 1.8.7-r2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 libsixel 1:1.8.7-r2-1 —
Debian 13 libsixel No fix yet —
Debian 12 libsixel No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 libsixel No fix yet —
Ubuntu 26.04 LTS libsixel No fix yet —
Ubuntu 25.10 libsixel No fix yet —
Ubuntu 24.04 LTS libsixel No fix yet —
Ubuntu 22.04 LTS libsixel No fix yet —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS libsixel No fix yet —
Ubuntu 18.04 LTS libsixel No fix yet —
Ubuntu 16.04 LTS libsixel No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed libsixel 1.10.5-3.1 openSUSE-SU-2026:12420-1

Advisories 1

References