Skip to content
OpenAdvisories
Medium · 6.8 CVE-2026-80431 EUVD-2026-87088GHSA-fx7r-q727-j825

Out-of-bounds write in the kitty text sizing protocol allows termination of the terminal process

Published Sep 25, 2026 · Updated Sep 25, 2026 · Assigned by Secur0

Description

Out-of-bounds Write in the natural width branch of the text sizing protocol in kitty from 0.40.0 before 0.49.0 allows a program writing to the terminal to write past the end of a fixed-size buffer, because screen_handle_multicell_command() in kitty/screen.c appends each codepoint of a grapheme cluster with lc.chars[lc.count++] = ch without any capacity check, while lc is declared by the RAII_ListOfChars macro as a four-element char_type array in the function's stack frame, so an OSC 66 escape code whose payload carries a grapheme cluster longer than four codepoints writes beyond that buffer, one 32-bit value per additional codepoint, in the order the codepoints appear. Where the cluster is preceded in the same payload by a sequence that causes an intermediate flush, the buffer is first migrated to the heap by ensure_space_for_chars() and the write occurs past the heap allocation instead. This results in termination of the kitty process and therefore of all its windows, tabs and child processes.

Affected products

VendorProductAffectedFixed
Kovid Goyal kitty 0.40.0 – < 0.49.0 0.49.0

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 kitty No fix yet —
Debian 13 kitty No fix yet —
Debian 12 kitty No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 kitty No fix yet —
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS kitty No fix yet —
Ubuntu Pro 24.04 LTS kitty No fix yet —
Ubuntu Pro 22.04 LTS kitty No fix yet —
Ubuntu Pro 20.04 LTS kitty No fix yet —

References