CVE Catalog

CVE-2026-33642

Critical
Published: Translated: NVD NIST

Summary

In versions 0.46.2 and below, the handle_compose_command() function in kitty/graphics.c performs bounds validation on composition offsets, potentially leading to Heap Buffer Over-Read/Write. An attacker can exploit this by supplying crafted x_offset/y_offset values that pass the bounds check after wrapping but cause massive out-of-bounds heap memory access.

Risk Assessment

This vulnerability may lead to serious security breaches, allowing attackers to access application memory, potentially resulting in data leaks or remote code execution. Organizations should be aware of the risks associated with using vulnerable software versions.

Recommendation

It is recommended to upgrade to version 0.47.0 or later to mitigate this vulnerability. Additionally, it is advisable to monitor and restrict the ability to input unknown escape sequences in the kitty terminal.

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS