CVE-2026-33019

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

libsixel — это реализация кодера/декодера SIXEL, созданная на основе Sixel компании kmiya. Версии 1.8.7 и более ранние содержат целочисленное переполнение, приводящее к чтению кучи за пределами границ при обработке опции --crop img2sixel, где положительные координаты до INT_MAX принимаются без проверки границ, безопасных для переполнения. В Sixel_encoder_do_clip() выражение clip_w + clip_x переполняется до большого отрицательного значения, когда clip_x равно INT_MAX, в результате чего защита границ полностью пропускается, а незафиксированная координата передается через Sixel_frame_clip() в функцию clip(), которая вычисляет указатель источника далеко за пределами буфера изображения и передает его в memmove().

Злоумышленник, предоставляющий специально созданный аргумент обрезки любому допустимому изображению, может инициировать чтение из кучи за пределами допустимого диапазона, что приведет к надежному сбою и потенциальному раскрытию информации. Эта проблема исправлена ​​в версии 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 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.

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

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

Последствия

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

Строка CVSS v3.1