CVE-2026-54056: CWE-59: Improper Link Resolution Before File Access ('Link Following') in kovidgoyal kitty
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.
AI Analysis
Technical Summary
CVE-2026-54056 is a CWE-59 (Improper Link Resolution Before File Access) vulnerability in the kitty terminal's `kitten dnd` remote drag-and-drop staging process. In versions 0.47.0 and 0.47.1, when handling remote `text/uri-list` drops, the software stages files in a temporary directory but does not properly de-duplicate duplicate basenames on case-sensitive filesystems. An attacker can exploit this by first creating a staged symlink and then sending a same-name regular file. The vulnerable file write operation uses `openat` without the `O_NOFOLLOW` flag, causing the symlink to be followed and allowing writes outside the staging directory. This can lead to overwriting or truncating arbitrary files writable by the local kitty user. The issue is distinct from a prior file-transfer symlink vulnerability and was fixed in version 0.47.2.
Potential Impact
An attacker capable of initiating a remote drag-and-drop operation can cause arbitrary writable files on the local system to be overwritten or truncated by exploiting symlink following during file staging. This can lead to integrity loss of local files accessible by the kitty user. There is no direct confidentiality impact, but the integrity impact is high. Availability impact is low.
Mitigation Recommendations
Version 0.47.2 of kitty patches this vulnerability. Users should upgrade to 0.47.2 or later to remediate the issue. Since this is not a cloud service, remediation requires updating the local software. Patch status is confirmed by the vendor's versioning information. No additional mitigations are specified.
CVE-2026-54056: CWE-59: Improper Link Resolution Before File Access ('Link Following') in kovidgoyal kitty
Description
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.
CVSS v3.1
Score 7.6high
Affected software
pkg:github/kovidgoyal/kittyRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-54056 is a CWE-59 (Improper Link Resolution Before File Access) vulnerability in the kitty terminal's `kitten dnd` remote drag-and-drop staging process. In versions 0.47.0 and 0.47.1, when handling remote `text/uri-list` drops, the software stages files in a temporary directory but does not properly de-duplicate duplicate basenames on case-sensitive filesystems. An attacker can exploit this by first creating a staged symlink and then sending a same-name regular file. The vulnerable file write operation uses `openat` without the `O_NOFOLLOW` flag, causing the symlink to be followed and allowing writes outside the staging directory. This can lead to overwriting or truncating arbitrary files writable by the local kitty user. The issue is distinct from a prior file-transfer symlink vulnerability and was fixed in version 0.47.2.
Potential Impact
An attacker capable of initiating a remote drag-and-drop operation can cause arbitrary writable files on the local system to be overwritten or truncated by exploiting symlink following during file staging. This can lead to integrity loss of local files accessible by the kitty user. There is no direct confidentiality impact, but the integrity impact is high. Availability impact is low.
Mitigation Recommendations
Version 0.47.2 of kitty patches this vulnerability. Users should upgrade to 0.47.2 or later to remediate the issue. Since this is not a cloud service, remediation requires updating the local software. Patch status is confirmed by the vendor's versioning information. No additional mitigations are specified.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-06-11T18:24:35.096Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a2c758ce617e2d834c30b86
Added to database: 06/12/2026, 21:09:32 UTC
Last enriched: 06/19/2026, 22:23:32 UTC
Last updated: 07/31/2026, 19:22:59 UTC
Views: 133
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.