CVE-2026-33019
CVE-2026-33019 is a high-severity vulnerability in Saitoha Libsixel with a CVSS 3.x base score of 7.1. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-125.
Key facts
- Severity: High (CVSS 3.x base score 7.1)
- EPSS exploit prediction: 0% (17th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-22742
- Weakness: CWE-125
- Affected product: Saitoha Libsixel
- Published:
- Last modified:
Description
libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. Versions 1.8.7 and prior contain an integer overflow leading to an out-of-bounds heap read in the --crop option handling of img2sixel, where positive coordinates up to INT_MAX are accepted without overflow-safe bounds checking. In sixel_encoder_do_clip(), the expression clip_w + clip_x overflows to a large negative value when clip_x is INT_MAX, causing the bounds guard to be skipped entirely, and the unclamped coordinate is passed through sixel_frame_clip() to clip(), which computes a source pointer far beyond the image buffer and passes it to memmove(). An attacker supplying a specially crafted crop argument with any valid image can trigger an out-of-bounds read in the heap, resulting in a reliable crash and potential information disclosure. This issue has been fixed in version 1.8.7-r1.
Frequently asked questions
- What is CVE-2026-33019?
- libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. Versions 1.8.7 and prior contain an integer overflow leading to an out-of-bounds heap read in the --crop option handling of img2sixel, where positive coordinates up to INT_MAX are accepted without overflow-safe bounds checking. In sixel_encoder_do_clip(), the expression clip_w + clip_x overflows to a large negative value when clip_x is INT_MAX, causing the bounds guard to be skipped entirely, and the unclamped coordinate is passed through sixel_frame_clip() to clip(), which computes a source pointer far beyond the image buffer and passes it to memmove(). An attacker supplying a specially crafted crop argument with any valid image can trigger an out-of-bounds read in the heap, resulting in a reliable crash and potential information disclosure. This issue has been fixed in version 1.8.7-r1.
- How severe is CVE-2026-33019?
- CVE-2026-33019 has a CVSS 3.x base score of 7.1, rated high severity. It is exploitable over local access with low attack complexity, requires no privileges and user interaction. Impact on confidentiality is high, integrity none, and availability high.
- Is CVE-2026-33019 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (17th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-33019?
- CVE-2026-33019 affects Saitoha Libsixel. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-33019?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- Does CVE-2026-33019 have an EU (EUVD) identifier?
- Yes. CVE-2026-33019 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-22742.
- When was CVE-2026-33019 published?
- CVE-2026-33019 was published on 2026-04-14 and last updated on 2026-06-17.
References
- https://github.com/saitoha/libsixel/releases/tag/v1.8.7-r1
- https://github.com/saitoha/libsixel/security/advisories/GHSA-c854-ffg9-g72c
Affected products (1)
- cpe:2.3:a:saitoha:libsixel:*:*:*:*:*:*:*:*
More vulnerabilities in Saitoha Libsixel
- CVE-2019-19638 — Critical (CVSS 9.8): An issue was discovered in libsixel 1.8.2. There is a heap-based buffer overflow in the function load_pnm at frompnm.c,…
- CVE-2019-19637 — Critical (CVSS 9.8): An issue was discovered in libsixel 1.8.2. There is an integer overflow in the function sixel_decode_raw_impl at…
- CVE-2019-19636 — Critical (CVSS 9.8): An issue was discovered in libsixel 1.8.2. There is an integer overflow in the function sixel_encode_body at tosixel.c.
- CVE-2019-19635 — Critical (CVSS 9.8): An issue was discovered in libsixel 1.8.2. There is a heap-based buffer overflow in the function sixel_decode_raw_impl…
- CVE-2022-27046 — High (CVSS 8.8): libsixel 1.8.6 suffers from a Heap Use After Free vulnerability in in libsixel/src/dither.c:388.
- CVE-2022-27044 — High (CVSS 8.8): libsixel 1.8.6 is affected by Buffer Overflow in libsixel/src/quant.c:876.
All CVEs affecting Saitoha Libsixel →
Other CWE-125 (Out-of-bounds Read) vulnerabilities
- CVE-2026-24826 — Critical (CVSS 10.0): Out-of-bounds Write, Divide By Zero, NULL Pointer Dereference, Use of Uninitialized Resource, Out-of-bounds Read,…
- CVE-2024-22004 — Critical (CVSS 10.0): Due to length check, an attacker with privilege access on a Linux Nonsecure operating system can trigger a…
- CVE-2021-41556 — Critical (CVSS 10.0): sqclass.cpp in Squirrel through 2.2.5 and 3.x through 3.1 allows an out-of-bounds read (in the core interpreter) that…
- CVE-2021-21777 — Critical (CVSS 10.0): An information disclosure vulnerability exists in the Ethernet/IP UDP handler functionality of EIP Stack Group OpENer…
- CVE-2017-14451 — Critical (CVSS 10.0): An exploitable out-of-bounds read vulnerability exists in libevm (Ethereum Virtual Machine) of CPP-Ethereum. A…
- CVE-2013-0767 — Critical (CVSS 10.0): The nsSVGPathElement::GetPathLengthScale function in Mozilla Firefox before 18.0, Firefox ESR 10.x before 10.0.12 and…