Skip to main content

kitty terminal EUVDEUVD-2026-36556

| CVE-2026-54055 MEDIUM
Improper Link Resolution Before File Access (CWE-59)
2026-06-12 security-advisories@github.com
5.0
CVSS 3.1 · Vendor: github
Share

Severity by source

Vendor (github) PRIMARY
5.0 MEDIUM
AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L
vuln.today AI
5.0 MEDIUM

Local-only TOCTOU race (AV:L/AC:H), requires existing session process (PR:L) and file transfer interaction (UI:R); writes cause integrity harm but no confidentiality loss.

3.1 AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L
4.0 AV:L/AC:H/AT:P/PR:L/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

Primary rating from Vendor (github).

CVSS VectorVendor: github

CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:L
Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

Lifecycle Timeline

2
Patch available
Jun 12, 2026 - 21:01 EUVD
Analysis Generated
Jun 12, 2026 - 20:34 vuln.today

DescriptionCVE.org

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.

AnalysisAI

Arbitrary file write in kitty terminal versions prior to 0.47.2 allows a child process running inside a kitty session to redirect writes to attacker-controlled filesystem paths. The root cause is a missing O_NOFOLLOW flag in the os.open() call within kitty's file transmission protocol: between the initial symlink validation stat-check and the actual file open, an attacker can insert a symlink, causing the write to follow it to an arbitrary destination - a classic TOCTOU race. No public exploit code exists and EPSS sits at 0.01% (1st percentile), indicating no observed exploitation; however, successful exploitation enables high-integrity-impact file overwrites that can facilitate local privilege escalation. Version 0.47.2 resolves the issue.

Technical ContextAI

CWE-59 (Improper Link Resolution Before File Access, also known as 'Link Following') describes vulnerabilities where software resolves a path - confirming it is safe - then, before acting on it, allows an attacker to substitute a symbolic link that redirects the operation elsewhere. In kitty, the file transmission protocol is a built-in feature enabling file transfers between the terminal and the host filesystem. The vulnerable code path performs a stat() call to inspect the target path, then later calls os.open() to create or write the file. Because os.open() is invoked without the O_NOFOLLOW flag, the kernel will transparently follow any symlink present at the target path at the moment of the open - even if that symlink did not exist during the prior stat check. A racing attacker-controlled child process can exploit this window to redirect the write to any filesystem path writable by the terminal process's effective UID. No CPE strings were provided in the input data; the affected component is the kitty terminal emulator by Kovid Goyal prior to version 0.47.2.

RemediationAI

The primary fix is to upgrade kitty to version 0.47.2 or later, which corrects the os.open() call to include the O_NOFOLLOW flag, preventing symlink traversal at file creation time. Upgrade instructions and release artifacts are available via the kitty project on GitHub; the security advisory is at https://github.com/kovidgoyal/kitty/security/advisories/GHSA-q446-x7q6-vcxh. If an immediate upgrade is not possible, a compensating control is to disable or restrict use of kitty's file transmission protocol feature in environments where untrusted or semi-trusted child processes run inside kitty sessions - for example, in shared or multi-user systems. Note that disabling the file transmission feature will break legitimate use cases such as file transfers via the kitten CLI. No alternative workaround fully eliminates the race window without the upstream O_NOFOLLOW fix.

More in Kitty

View all
CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2016-2563 CRITICAL POC
9.8 Apr 07

Stack-based buffer overflow in the SCP command-line utility in PuTTY before 0.67 and KiTTY 0.66.6.3 and earlier allows r

CVE-2020-35605 CRITICAL POC
9.8 Dec 21

The Graphics Protocol feature in graphics.c in kitty before 0.19.3 allows remote attackers to execute arbitrary code bec

CVE-2024-23749 HIGH POC
7.8 Feb 09

KiTTY versions 0.76.1.13 and before is vulnerable to command injection via the filename variable, occurs due to insuffic

CVE-2024-25004 HIGH POC
7.8 Feb 09

KiTTY versions 0.76.1.13 and before is vulnerable to a stack-based buffer overflow via the username, occurs due to insuf

CVE-2024-25003 HIGH POC
7.8 Feb 09

KiTTY versions 0.76.1.13 and before is vulnerable to a stack-based buffer overflow via the hostname, occurs due to insuf

CVE-2022-41322 HIGH POC
7.8 Sep 23

In Kitty before 0.26.2, insufficient validation in the desktop notification escape sequence can lead to arbitrary code e

CVE-2026-33642 CRITICAL
9.8 May 19

Heap memory corruption in Kitty cross-platform GPU terminal emulator (versions 0.46.2 and below) allows remote attackers

CVE-2026-33633 HIGH
8.8 May 19

Heap buffer overflow in Kitty terminal versions 0.46.2 and below allows any process able to write to the terminal's stan

CVE-2025-43929 MEDIUM POC
4.1 Apr 20

open_actions.py in kitty before 0.41.0 does not ask for user confirmation before running a local executable file that ma

CVE-2026-42851 HIGH
7.8 Jun 12

Remote code execution in Kitty terminal emulator versions prior to 0.47.0 allows any process or remote peer that can wri

CVE-2026-42850 HIGH
7.4 Jun 12

Command injection in Kitty cross-platform GPU terminal emulator versions prior to 0.47.0 allows remote attackers to exec

Vendor StatusVendor

SUSE

Severity: Moderate

Share

EUVD-2026-36556 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy