CVE-2026-54055
Kitty has an Arbitrary File Write via Symlink Race Condition in File Transmission Protocol
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.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.0
Kitty has an Arbitrary File Write via Symlink Race Condition in File Transmission Protocol
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.
- Record
CVE-2026-54055- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L - Weakness
- CWE-59, CWE-367, CWE-426
- Updated
- 2026-11-02
EUVDEUVD-2026-36556
5.0
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.
- Record
EUVD-2026-36556- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L - Updated
- 2026-11-02
NVD
5.0
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.
- Record
CVE-2026-54055- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L - Weakness
- CWE-59, CWE-367, CWE-426
- Updated
- 2026-11-02
OSV
5.0
Kitty has an Arbitrary File Write via Symlink Race Condition in File Transmission Protocol
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.
- Record
CVE-2026-54055- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L - Weakness
- CWE-367, CWE-426, CWE-59
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-54055
5.0
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.
- Record
DEBIAN-CVE-2026-54055- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-54055
5.0
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.
- Record
UBUNTU-CVE-2026-54055- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L - Updated
- 2026-11-02
OSVUSN-8763-1 No score
kitty vulnerabilities
It was discovered that kitty incorrectly escaped error messages when handling specially crafted terminal escape sequences. A remote attacker could possibly use this issue to execute arbitrary commands. (CVE-2026-42850)
It was discovered that kitty incorrectly handled remote edit requests in terminal output. An attacker could possibly use this issue to execute arbitrary code with the user's privileges. (CVE-2026-42851)
Thai Son Dinh and Nguyen Huy Vu Dung discovered that kitty incorrectly handled destination paths in its file transmission protocol. A local attacker could possibly use this issue to overwrite arbitrary files with the user's privileges. (CVE-2026-54055)
It was discovered that kitty incorrectly sanitized responses to color queries. An attacker could possibly use this issue to execute arbitrary commands with the user's privileges. This issue only affected Ubuntu 26.04 LTS. (CVE-2026-54057)
- Record
USN-8763-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
kittyDebian:12 |
All versions, plus listed versions 0.26.5-50.30.1-10.31.0-10.31.0-20.31.0-3 Show 35 moreShow less0.31.0-40.32.0-10.32.1-10.32.2-10.33.0-20.33.1-10.34.1-10.35.1-10.35.2-10.36.1-10.36.4-10.36.4-20.36.4-30.37.0-10.38.1-10.39.0-10.39.1-10.40.0-10.41.1-10.41.1-20.42.1-10.42.2-10.43.1-10.44.0-10.45.0-10.45.0-20.46.1-10.46.2-10.47.0-10.47.0-20.47.0-30.47.3-10.47.4-10.48.2-10.48.2-1.1 |
None known |
kittyDebian:13 |
before 0.41.1-2+deb13u2, plus listed versions 0.41.1-20.41.1-2+deb13u1 |
0.41.1-2+deb13u2 |
kittyDebian:14 |
before 0.47.3-1, plus listed versions 0.41.1-20.42.1-10.42.2-10.43.1-10.44.0-1 Show 7 moreShow less0.45.0-10.45.0-20.46.1-10.46.2-10.47.0-10.47.0-20.47.0-3 |
0.47.3-1 |
kittyUbuntu:Pro:24.04:LTS |
before 0.32.2-1ubuntu0.4+esm2, plus listed versions 0.26.5-3ubuntu20.26.5-5ubuntu10.31.0-30.31.0-40.32.2-1 Show 7 moreShow less0.32.2-1build20.32.2-1build30.32.2-1ubuntu0.10.32.2-1ubuntu0.20.32.2-1ubuntu0.30.32.2-1ubuntu0.40.32.2-1ubuntu0.4+esm1 |
0.32.2-1ubuntu0.4+esm2 |
kittyUbuntu:25.10 |
All versions, plus listed versions 0.39.1-10.41.1-20.41.1-2+deb13u1build0.25.10.1 |
None known |
kittyUbuntu:Pro:26.04:LTS |
before 0.45.0-1ubuntu0.1~esm2, plus listed versions 0.41.1-20.43.1-10.44.0-10.45.0-10.45.0-1build10.45.0-1ubuntu0.1~esm1 |
0.45.0-1ubuntu0.1~esm2 |
kittyUbuntu:Pro:24.04:LTS From an advisory covering 4 CVEs |
before 0.32.2-1ubuntu0.4+esm2, plus listed versions 0.26.5-3ubuntu20.26.5-5ubuntu10.31.0-30.31.0-40.32.2-1 Show 7 moreShow less0.32.2-1build20.32.2-1build30.32.2-1ubuntu0.10.32.2-1ubuntu0.20.32.2-1ubuntu0.30.32.2-1ubuntu0.40.32.2-1ubuntu0.4+esm1 |
0.32.2-1ubuntu0.4+esm2 |
kittyUbuntu:Pro:26.04:LTS From an advisory covering 4 CVEs |
before 0.45.0-1ubuntu0.1~esm2, plus listed versions 0.41.1-20.43.1-10.44.0-10.45.0-10.45.0-1build10.45.0-1ubuntu0.1~esm1 |
0.45.0-1ubuntu0.1~esm2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-54055 is a medium vulnerability (CVSS 5.0) in Kitty Project Kitty, published June 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.07%, the 0th percentile. Fixed in kitty 0.41.1-2+deb13u2.
References
github.com/kovidgoyal/kitty/security/advisories/GHSA-q446-x7q6-vcxh
github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54055.json
nvd.nist.gov/vuln/detail/CVE-2026-54055
security-tracker.debian.org/tracker/CVE-2026-54055
ubuntu.com/security/CVE-2026-54055
cve.org/CVERecord?id=CVE-2026-54055