Kitty - это кроссплатформенный терминал на базе графического процессора. В версиях 0.46.2 и ниже функция ручки_commad() в kitty/graphics.c …
Kitty - это кроссплатформенный терминал на базе графического процессора. В версиях 0.46.2 и ниже функция ручки_commad() в kitty/graphics.c выполняет проверку границ на композитных смещениях с использованием неподписанной 32-битной арифметики, которая подлежит целочисленной обертыванию, что потенциально приводит к перенахождению кучи надчитанным. Злоумышленник, который может записывать последовательности побега в кошачий терминал (например, через вредоносный файл, баннер входа в систему SSH или поставляемый контент), может предоставить созданные значения x_offset/y_offset, которые проходят проверку границ после обертывания, но вызывают массивный доступ к костной памяти в compose_rectangles(). Взаимодействовать с пользователями не требуется. Конфигурация без дефолта не требуется. Злоумышленнику нужна только возможность производить выход в окне китового терминала. Эта проблема исправлена в версии 0.47.0.
Продукт читает данные за пределами конца или до начала предназначенного буфера.
https://cwe.mitre.org/data/definitions/125.html →Открыть в коллекции CWE →Злоумышленник атакует цель, передавая входные данные, вынуждающие приложение читать за пределами границы определённого буфера. Как правило, это происходит, когда значение, определяющее начало или конец чтения, установлено на позиции за пределами допустимой области памяти буфера. Атака данного типа может привести к раскрытию конфиденциальной информации, аварийному завершению работы системы или выполнению произвольного кода.
https://capec.mitre.org/data/definitions/540.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| kitty | Отслеживается | |
| kitty | Отслеживается |