CVE-2026-44636: saitoha libsixel heap buffer overflow in sixel_encode_highcolor

CVE-2026-44636 · Severity: high · CVSS 7.4 · Published 2026-05-14

libsixel is a library used to encode and decode images in the SIXEL format, often used for displaying graphics in terminal emulators. A vulnerability exists where processing extremely large images can cause the software to miscalculate memory requirements, leading to a system crash or potential unauthorized data access. This affects applications that use the library to process images from untrusted sources or with very large dimensions.

Technologies: Saitoha Libsixel. Vendors: Saitoha.

Quick answers

Is CVE-2026-44636 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-44636 being exploited in the wild.
How severe is CVE-2026-44636?
High severity, with a CVSS score of 7.4, published 14 May 2026.
Which products and versions are affected?
Saitoha Libsixel 1.4.4 to 1.8.7-r1.
Is there a fix for CVE-2026-44636?
A patch was published on 2026-05-14: Fix released in version 1.8.7-r2 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-44636 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-44636?
Check whether you run Saitoha Libsixel at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A signed integer overflow exists in the 'sixel_encode_highcolor' function within 'src/tosixel.c'. The vulnerability occurs because the 'sixel_encode' entry point fails to validate upper bounds for image width and height. When 'quality_mode' is set to 'SIXEL_QUALITY_HIGHCOLOR', the library calculates allocation sizes for 'paletted_pixels' and 'normalized_pixels' using plain integer multiplication. If the product of width and height exceeds INT_MAX, the calculation wraps, resulting in a heap allocation that is significantly smaller than required. Subsequent write operations then exceed the buffer boundaries. This issue is reachable via local attack vectors where an attacker can influence the dimensions passed to the encoder. The vulnerability is fixed in version 1.8.7-r2.

Affected products

  • saitoha libsixel 1.4.4 to 1.8.7-r1

Timeline

  • 2026-05-03: advisory: GitHub Security Advisory published
  • 2026-05-14: disclosed: CVE published to NVD
  • 2026-05-14: patched: Fix released in version 1.8.7-r2

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.