CVE-2026-33020
Heap Buffer Overflow in libsixel Allows Remote Code Execution
Publication date: 2026-04-14
Last updated on: 2026-04-23
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| saitoha | libsixel | to 1.8.7-r1 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-122 | A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc(). |
| CWE-190 | The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The vulnerability in libsixel (CVE-2026-33020) leads to a heap buffer overflow that can cause crashes and potentially arbitrary code execution. It impacts the integrity and availability of the affected system but does not result in confidentiality loss.
Since the vulnerability does not involve loss or exposure of confidential data, it does not directly affect compliance with data protection regulations such as GDPR or HIPAA, which primarily focus on confidentiality and privacy of personal data.
However, the integrity and availability impacts could indirectly affect compliance if the affected system is critical for maintaining secure and reliable processing of regulated data, as disruptions or unauthorized code execution might lead to broader security risks.
Can you explain this vulnerability to me?
The vulnerability exists in libsixel, a SIXEL encoder/decoder, specifically in versions 1.8.7 and earlier. It is caused by an integer overflow in the function sixel_frame_convert_to_rgb888() when handling palettised images. This overflow leads to an undersized heap allocation and a negative pointer offset, which causes the function sixel_helper_normalize_pixelformat() to write image data starting from an invalid memory location. This results in massive heap corruption.
An attacker can exploit this by providing a specially crafted large palettised PNG image, which can corrupt the heap of the victim process, causing a reliable crash and potentially allowing arbitrary code execution.
This issue has been fixed in version 1.8.7-r1.
How can this vulnerability impact me? :
This vulnerability can lead to heap corruption in any application using the vulnerable libsixel versions to process specially crafted large palettised PNG images.
The impact includes a reliable crash of the affected process and the potential for an attacker to execute arbitrary code with the privileges of the victim process.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, upgrade libsixel to version 1.8.7-r1 or later, where the integer overflow and heap buffer overflow issues have been fixed.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability affects libsixel versions 1.8.7 and prior, involving an integer overflow leading to heap buffer overflow during the processing of large palettised PNG images.
To detect if your system is vulnerable, first check the installed version of libsixel. If it is version 1.8.7 or earlier, it is potentially affected.
- Run a command to check the installed libsixel version, for example: `libsixel --version` or `dpkg -l | grep libsixel` on Debian-based systems.
- Monitor application logs or crash reports for crashes related to processing large palettised PNG images, which may indicate exploitation attempts.
No specific detection commands or network signatures are provided in the available information.