CVE-2026-54055
Kitty has an Arbitrary File Write via Symlink Race Condition in File Transmission Protocol
- Published
- Updated
- Reserved
- Assigned by
- GitHub_M
Description
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.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_MCNA (assigner) | 3.1 | Medium5.0 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L |
| NVDNVD · Analyzed | 3.1 | Medium5.0 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L |
- EPSS (exploitation in 30 days)
- 0.07% · top 100% of all CVEs (6 Nov 2026)
- CISA SSVC
- Exploitation: poc · Automatable: no · Technical impact: partial
The list uses the assigner's score when there is one, then CISA's, then NVD's: Medium 5.0.
Weakness
- CWE-59: Improper Link Resolution Before File Access ('Link Following') (opens in a new tab)All about CWE-59 and its CVEs
- CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition (opens in a new tab)All about CWE-367 and its CVEs
- CWE-426: Untrusted Search Path (opens in a new tab)All about CWE-426 and its CVEs
Affected products
- affected < 0.47.2
References (1)
- https://github.com/kovidgoyal/kitty/security/advisories/GHSA-q446-x7q6-vcxh (opens in a new tab)x_refsource_CONFIRMexploit
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://trackcve.app/cve/CVE-2026-54055)Record last updated .