Source: kitty
Version: 0.47.0-3
Severity: grave
Tags: security upstream
Justification: user security hole
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>

Hi,

The following vulnerabilities were published for kitty.

CVE-2026-42850[0]:
| Kitty is a cross-platform GPU based terminal. In versions prior to
| 0.47.0, it is possible to inject commands within the subshell
| through kitty error. A special escape code will make kitty return an
| error, this error is not escaped and will be correctly echoed back
| to the terminal with CRLF, as such it will be run by the shell in
| use. To exploit this bug, the victim must use a netcat or a similar
| program to connect to the attacker, or else listening for someone to
| connect. Once this condition is set, an attacker could pwn the
| computer of the victim using a special kitty's escape code that will
| run a command in the shell in use. Version 04.7.0 fixes the issue.


CVE-2026-42851[1]:
| Kitty is a cross-platform GPU based terminal. In versions prior to
| 0.47.0, a program able to write bytes to a kitty terminal — a remote
| SSH peer, a downloaded file viewed with `cat`, a log line, an email
| body rendered in `less`, an issue body in a TUI, etc. — can cause
| kitty to execute attacker-supplied Python inside the running kitty
| process, with the user's full privileges. There is no approval
| prompt, no remote-control permission requirement, no shell-
| integration interaction, no clipboard touch, and no editor
| interaction. Version 0.47.0 fixes the issue.


CVE-2026-54055[2]:
| Kitty is a cross-platform GPU based terminal. In versions prior to
| 0.47.2, a local privilege escalation vulnerability exists in kitty's
| file transmission protocol where a child process running in the
| terminal can write to arbitrary files on the filesystem by
| exploiting a TOCTOU (Time-of-Check-Time-of-Use) race condition
| between symlink validation and file creation. The `os.open()` call
| used to create files does not use `O_NOFOLLOW`, allowing an attacker
| to create a symlink between the initial stat check and the actual
| file open, causing the write to follow the symlink to an arbitrary
| destination. Version 0.47.2 fixes the issue.


CVE-2026-54056[3]:
| Kitty is a cross-platform GPU based terminal. In versions 0.47.0 and
| 0.47.1, `kitten dnd` can allow a malicious remote drag-and-drop
| source to overwrite or truncate arbitrary files writable by the
| local kitty user. Remote `text/uri-list` drops are staged in a
| temporary directory, but on case-sensitive filesystems duplicate
| remote basenames are not de-duplicated. An attacker can first create
| a staged symlink and then send a same-name regular-file entry. The
| regular-file write uses `utils.CreateAt()` /
| `openat(O_RDWR|O_CREAT|O_TRUNC)` without `O_NOFOLLOW`, so it follows
| the attacker-created symlink and writes outside the staging
| directory before final overwrite confirmation runs. This appears
| related in class to the file-transfer symlink advisory, but it is a
| different bug: it affects `kitten dnd` remote drag-and-drop staging,
| uses different vulnerable code (`kittens/dnd/drop.go` and
| `tools/utils/file_at_fd.go`), and reproduces on commit
| `4aa4a5c0567a92553a8c20a88a4352da637fca5d`, after the file-transfer
| `O_NOFOLLOW` fix. Version 0.47.2 patches the issue.


CVE-2026-54057[4]:
| Kitty is a cross-platform GPU based terminal. In versions prior to
| 0.47.3, kitty's OSC 21 (color-control) query reply reflects
| attacker-controlled bytes, including newlines, into the shell's
| input without sanitization. Version 0.47.3 fixes the issue.


If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-42850
    https://www.cve.org/CVERecord?id=CVE-2026-42850
[1] https://security-tracker.debian.org/tracker/CVE-2026-42851
    https://www.cve.org/CVERecord?id=CVE-2026-42851
[2] https://security-tracker.debian.org/tracker/CVE-2026-54055
    https://www.cve.org/CVERecord?id=CVE-2026-54055
[3] https://security-tracker.debian.org/tracker/CVE-2026-54056
    https://www.cve.org/CVERecord?id=CVE-2026-54056
[4] https://security-tracker.debian.org/tracker/CVE-2026-54057
    https://www.cve.org/CVERecord?id=CVE-2026-54057

Regards,
Salvatore

Reply via email to