CVE-2026-80431 in Kitty
要約
〜によって VulDB • 2026年09月25日
kitty 0.49.0 より前のバージョン (0.40.0 から) のテキストサイズ指定プロトコルにおける natural width ブランチの Out-of-bounds Write(配列外書き込み)により、ターミナルへの書き込みを行うプログラムが固定サイズのバッファの末尾を超えて書き込むことができる。これは、kitty/screen.c 内の screen_handle_multicell_command() が lc.chars[lc.count++] = ch という式で grapheme cluster の各コードポイントを追加する際に容量チェックを行わず、lc が関数のスタックフレーム内で RAII_ListOfChars マクロによって4要素の char_type 配列として宣言されているためである。したがって、payload に4つを超える長さの grapheme cluster を含む OSC 66 エスケープコードが与えられると、追加される各コードポイントごとに32ビット値分だけそのバッファの外側へ書き込まれ(コードポイントの出現順に)、buffer overflow が発生する。もし同じ payload の中で cluster より前に中間的なフラッシュを引き起こすシーケンスが存在する場合、ensure_space_for_chars() によって buffer はまずヒープへと移行され、その後 heap allocation の末尾を超えて書き込みが行われることになる。これにより kitty プロセスが終了し、その結果としてすべてのウィンドウ、タブおよび子プロセスも停止する。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.