CVE-2026-33642
KrytyczneStreszczenie
W wersjach 0.46.2 i poniżej funkcja handle_compose_command() w kitty/graphics.c wykonuje walidację granic na przesunięciach kompozycji, co może prowadzić do nadpisania lub odczytu pamięci w stercie. Atakujący mogą wykorzystać to, dostarczając spreparowane wartości x_offset/y_offset, które po owinięciu przechodzą walidację, ale powodują dostęp do pamięci poza granicami.
Ocena ryzyka
Podatność ta może prowadzić do poważnych naruszeń bezpieczeństwa, umożliwiając atakującym dostęp do pamięci aplikacji, co może skutkować wyciekiem danych lub zdalnym wykonaniem kodu. Organizacje powinny być świadome ryzyka związanego z używaniem podatnych wersji oprogramowania.
Rekomendacja
Zaleca się aktualizację do wersji 0.47.0 lub nowszej, aby usunąć tę podatność. Dodatkowo, warto monitorować i ograniczać możliwość wprowadzania nieznanych sekwencji escape w terminalu kitty.
Oryginalny opis (angielski, źródło NVD)
Kitty is a cross-platform GPU based terminal. In versions 0.46.2 and below, the handle_compose_command() function in kitty/graphics.c performs bounds validation on composition offsets using unsigned 32-bit arithmetic that is subject to integer wrapping, potentially leading to Heap Buffer Over-Read/Write. An attacker who can write escape sequences to a kitty terminal (e.g., via a malicious file, SSH login banner, or piped content) can supply crafted x_offset/y_offset values that pass the bounds check after wrapping but cause massive out-of-bounds heap memory access in compose_rectangles(). No user interaction is required. No non-default configuration is required. The attacker only needs the ability to produce output in a kitty terminal window. This issue has been fixed in version 0.47.0.

