Kovid Goyal Kitty up to 0.48.x Colour Control Escape Code kitty/window.py color_control field_name neutralization
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.3 | $0-$5k | 0.17+ |
Summary
A vulnerability labeled as critical has been found in Kovid Goyal Kitty up to 0.48.x. Affected by this vulnerability is the function color_control of the file kitty/window.py of the component Colour Control Escape Code Handler. Such manipulation of the argument field_name leads to neutralization.
This vulnerability is listed as CVE-2026-95832. The attack may be performed from remote. There is no available exploit.
The affected component should be upgraded.
Details
A vulnerability, which was classified as critical, has been found in Kovid Goyal Kitty up to 0.48.x. Affected by this issue is the function color_control of the file kitty/window.py of the component Colour Control Escape Code Handler. The manipulation of the argument field_name with an unknown input leads to a neutralization vulnerability. Using CWE to declare the problem leads to CWE-707. The product does not ensure or incorrectly ensures that structured messages or data are well-formed and that certain security properties are met before being read from an upstream component or sent to a downstream component. Impacted is confidentiality, integrity, and availability. CVE summarizes:
Improper Neutralization of Special Elements in Output Used by a Downstream Component in the colour control escape code handler in kitty from 0.47.3 before 0.49.0 allows a program writing to the terminal to execute an arbitrary command in the user's shell, because color_control() in kitty/window.py answers a query for an unrecognised field name by placing that field name into the reply, and write_escape_code_to_child() in kitty/screen.c then writes the reply to the pseudoterminal master, where it is not distinguishable from input typed by the user, without neutralising it for the shell that reads it. The payload is reduced to printable ASCII before the field name is echoed, which is the restriction introduced in 0.47.3 as the fix for CVE-2026-54057, and the record and field separators ; and = are consumed as delimiters, but every other printable character survives, which is sufficient to compose a shell command. A newline is available from handle_remote_ssh() in kitty/window.py, which writes the bytes yielded by get_ssh_data() in kittens/ssh/utils.py, the first of which begin with a newline, to the pseudoterminal master before any credential carried in the request is checked. The reply is framed as an OSC sequence carrying the escape code number, the field name, and the literal value ?. This results in execution of an attacker-chosen command with the privileges of the user running the terminal.
The advisory is shared for download at github.com. This vulnerability is handled as CVE-2026-95832 since 09/22/2026. The exploitation is known to be easy. The attack may be launched remotely. Successful exploitation requires user interaction by the victim. There are known technical details, but no exploit is available.
Upgrading to version 0.49.0 eliminates this vulnerability.
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Product
Vendor
Name
Version
- 0.1
- 0.2
- 0.3
- 0.4
- 0.5
- 0.6
- 0.7
- 0.8
- 0.9
- 0.10
- 0.11
- 0.12
- 0.13
- 0.14
- 0.15
- 0.16
- 0.17
- 0.18
- 0.19
- 0.20
- 0.21
- 0.22
- 0.23
- 0.24
- 0.25
- 0.26
- 0.27
- 0.28
- 0.29
- 0.30
- 0.31
- 0.32
- 0.33
- 0.34
- 0.35
- 0.36
- 0.37
- 0.38
- 0.39
- 0.40
- 0.41
- 0.42
- 0.43
- 0.44
- 0.45
- 0.46
- 0.47
- 0.48
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 5.5VulDB Meta Temp Score: 5.3
VulDB Base Score: 5.5
VulDB Temp Score: 5.3
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: NeutralizationCWE: CWE-707 / CWE-20
CAPEC: 🔒
ATT&CK: 🔒
Physical: Partially
Local: Yes
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kitty 0.49.0
Timeline
09/22/2026 CVE reserved09/25/2026 Advisory disclosed
09/25/2026 VulDB entry created
09/25/2026 VulDB entry last update
Sources
Advisory: github.comStatus: Confirmed
CVE: CVE-2026-95832 (🔒)
GCVE (CVE): GCVE-0-2026-95832
GCVE (VulDB): GCVE-100-410168
Entry
Created: 09/25/2026 15:18Changes: 09/25/2026 15:18 (70)
Complete: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
No comments yet. Languages: en.
Please log in to comment.