CVE-2026-33020: libsixel: Integer Overflow in write_png_to_file() leads to Heap-based Buffer Overflow

Published Apr 14, 2026
·
Updated

libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. Versions 1.8.7 and prior contain an integer overflow which leads to a heap buffer overflow via sixelframeconverttorgb888() in frame.c, where allocation size and pointer offset computations for palettised images (PAL1, PAL2, PAL4) are performed using int arithmetic before casting to sizet. For images whose pixel count exceeds INTMAX / 4, the overflow produces an undersized heap allocation for the conversion buffer and a negative pointer offset for the normalization sub-buffer, after which sixelhelpernormalizepixelformat() writes the full image data starting from the invalid pointer, causing massive heap corruption confirmed by ASAN. An attacker providing a specially crafted large palettised PNG can corrupt the heap of the victim process, resulting in a reliable crash and potential arbitrary code execution. This issue has been fixed in version 1.8.7-r1.

Affected Software

2 affected components
Libsixel libsixel<=1.8.7
saitoha libsixel<1.8.7-r1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade libsixel to a version that resolves this vulnerability.

    Fixed in 1.8.7-r1

Event History

Apr 14, 2026
CVE Published
via MITRE·09:53 PM
Data Sourced
via MITRE·09:53 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·10:16 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-33020?

CVE-2026-33020 has a high severity due to the potential for remote code execution caused by the heap-based buffer overflow.

2

How do I fix CVE-2026-33020?

To fix CVE-2026-33020, upgrade to libsixel version 1.8.8 or later.

3

What causes CVE-2026-33020?

CVE-2026-33020 is caused by an integer overflow in the write_png_to_file() function leading to a heap buffer overflow.

4

What versions of libsixel are affected by CVE-2026-33020?

All versions of libsixel up to and including 1.8.7 are affected by CVE-2026-33020.

5

What is the impact of CVE-2026-33020?

The impact of CVE-2026-33020 includes the potential for an attacker to execute arbitrary code on a vulnerable system.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203