Kitty — это кроссплатформенный терминал на базе графического процессора. До версии 0.48.2 обработчики DCS @kitty-echo и @kitty-ssh в kitty/window.py записывали неаутентифицированные данные в стандартный ввод дочерней оболочки, где handle_remote_echo принимает печатные командные символы оболочки, а handle_remote_ssh вызывает get_ssh_data в котятах/ssh/utils.py, что создает новую строку; объединение обработчиков в цепочку может выполнять команды, контролируемые злоумышленником, когда пользователь отображает ненадежные данные терминала. Эта проблема исправлена в версии 0.48.2.
Показать оригинальное описание (EN)
Kitty is a cross-platform GPU based terminal. Prior to 0.48.2, the @kitty-echo and @kitty-ssh DCS handlers in kitty/window.py write unauthenticated data to the child shell's stdin, where handle_remote_echo accepts printable shell command characters and handle_remote_ssh calls get_ssh_data in kittens/ssh/utils.py, which emits a newline; chaining the handlers can execute attacker-controlled commands when a user displays untrusted terminal data. This issue is fixed in version 0.48.2.
Характеристики атаки
Последствия
Строка CVSS v4.0