CVE-2026-54056: Kitty has an arbitrary file overwrite via symlink following in `kitten dnd` remote drop staging
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(ORDWR|OCREAT|OTRUNC) without ONOFOLLOW, 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/fileatfd.go), and reproduces on commit 4aa4a5c0567a92553a8c20a88a4352da637fca5d, after the file-transfer ONOFOLLOW fix. Version 0.47.2 patches the issue.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Kittyto a version that resolves this vulnerability.Fixed in 0.47.2
Event History
Frequently Asked Questions
What is the severity of CVE-2026-54056?
The severity of CVE-2026-54056 is rated as high with a score of 7.6.
How do I fix CVE-2026-54056?
To fix CVE-2026-54056, update to the latest version of Kitty that addresses this vulnerability.
What type of vulnerability is CVE-2026-54056?
CVE-2026-54056 is an arbitrary file overwrite vulnerability that can be exploited via symlinks in the drag-and-drop functionality.
What versions of Kitty are affected by CVE-2026-54056?
CVE-2026-54056 affects Kitty versions 0.47.0 and 0.47.1.
What impact does CVE-2026-54056 have on users?
CVE-2026-54056 allows a malicious remote source to overwrite or truncate arbitrary files that the local Kitty user can write to.