Skip to main content
VulnerabilityPublished Updated

CVE-2026-44636: saitoha libsixel · Heap-based Buffer Overflow

Affects saitoha libsixelSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 7.4 High : upgrade to 1.8.7-r2 soon.

Data as of 30 Oct 2026, 11:52 UTC

CVSS 3.1 base score
7.4High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 0% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 1.8.7-r2
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 14 May 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.

What to do

Upgrade saitoha libsixel to 1.8.7-r2.

Affected software

ProductAffectedFixed in
saitohalibsixelAffected
  • >=1.4.4 <1.8.7-r2
Fixed in
  • 1.8.7-r2

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

A fix is available in libsixel version 1.8.7-r2. Users and maintainers should upgrade to version 1.8.7-r2 or later to remediate this vulnerability. Until upgraded, avoid processing SIXEL images with extremely large dimensions that could trigger the overflow.

Description

libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. From to 1.8.7-r1, signed integer overflow in sixel_encode_highcolor's allocation size calculation can lead to a heap buffer overflow. The public sixel_encode entry point validates only that width and height are greater than zero, with no upper bound. width and height are multiplied as plain int when computing the allocation size for paletted_pixels and normalized_pixels. Any caller that asks libsixel to encode a pixel buffer with width times height greater than INT_MAX (about 2.15 billion) will hit a wrapped allocation size; under the right wrap, the malloc succeeds with a buffer much smaller than the encoder expects, and the encoder writes past the end of the heap allocation. This vulnerability is fixed in 1.8.7-r2.

References

Community reviews

Loading reviews…