CVE-2026-33020

HIGH CVSS 3.1: 7,1
Обновлено 17 апреля 2026
libsixel
Параметр Значение
CVSS 7,1 (HIGH)
Устранено в версии 1.8.7
Тип уязвимости CWE-190 (Целочисленное переполнение), CWE-122 (Переполнение буфера в куче)
Поставщик libsixel
Публичный эксплойт Нет

libsixel — это реализация кодера/декодера SIXEL, созданная на основе Sixel компании kmiya. Версии 1.8.7 и более ранние содержат целочисленное переполнение, которое приводит к переполнению буфера кучи через Sixel_frame_convert_to_rgb888() вframe.c, где вычисления размера выделения и смещения указателя для палитрированных изображений (PAL1, PAL2, PAL4) выполняются с использованием арифметики int перед приведением к size_t. Для изображений, количество пикселей которых превышает INT_MAX/4, переполнение создает выделение кучи недостаточного размера для буфера преобразования и отрицательное смещение указателя для подбуфера нормализации, после чего Sixel_helper_normalize_pixelformat() записывает полные данные изображения, начиная с недопустимого указателя, вызывая массовое повреждение кучи, подтвержденное ASAN.

Злоумышленник, предоставляющий специально созданный большой PNG-файл с палитрой, может повредить кучу процесса-жертвы, что приведет к надежному сбою и потенциальному выполнению произвольного кода. Эта проблема исправлена ​​в версии 1.8.7-r1.

Показать оригинальное описание (EN)

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 sixel_frame_convert_to_rgb888() in frame.c, where allocation size and pointer offset computations for palettised images (PAL1, PAL2, PAL4) are performed using int arithmetic before casting to size_t. For images whose pixel count exceeds INT_MAX / 4, the overflow produces an undersized heap allocation for the conversion buffer and a negative pointer offset for the normalization sub-buffer, after which sixel_helper_normalize_pixelformat() 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.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Требуется
Нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1