CVE-2026-33633
Kitty has a Heap Buffer Overflow in its Graphics Protocol Handler
Kitty is a cross-platform GPU based terminal. Versions 0.46.2 and below contain a heap buffer overflow in load_image_data() that allows any process which can write to the terminal's stdin to crash kitty immediately. The vulnerability is triggered by a single APC graphics protocol command with a PNG format declaration (f=100) whose payload exceeds twice the initial buffer capacity. The overflow is attacker-controlled in both length and content, causing DoS and potentially escalation to RCE itself. This issue has been fixed in version 0.47.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Kitty has a Heap Buffer Overflow in its Graphics Protocol Handler
Kitty is a cross-platform GPU based terminal. Versions 0.46.2 and below contain a heap buffer overflow in load_image_data() that allows any process which can write to the terminal's stdin to crash kitty immediately. The vulnerability is triggered by a single APC graphics protocol command with a PNG format declaration (f=100) whose payload exceeds twice the initial buffer capacity. The overflow is attacker-controlled in both length and content, causing DoS and potentially escalation to RCE itself. This issue has been fixed in version 0.47.0.
- Record
CVE-2026-33633- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-122
- Updated
- 2026-11-02
EUVDEUVD-2026-30964
7.5
Kitty is a cross-platform GPU based terminal. Versions 0.46.2 and below contain a heap buffer overflow in load_image_data() that allows any process which can write to the terminal's stdin to crash kitty immediately. The vulnerability is triggered by a single APC graphics protocol command with a PNG format declaration (f=100) whose payload exceeds twice the initial buffer capacity. The overflow is attacker-controlled in both length and content, causing DoS and potentially escalation to RCE itself. This issue has been fixed in version 0.47.0.
- Record
EUVD-2026-30964- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
NVD
7.5
Kitty is a cross-platform GPU based terminal. Versions 0.46.2 and below contain a heap buffer overflow in load_image_data() that allows any process which can write to the terminal's stdin to crash kitty immediately. The vulnerability is triggered by a single APC graphics protocol command with a PNG format declaration (f=100) whose payload exceeds twice the initial buffer capacity. The overflow is attacker-controlled in both length and content, causing DoS and potentially escalation to RCE itself. This issue has been fixed in version 0.47.0.
- Record
CVE-2026-33633- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-122
- Updated
- 2026-11-02
OSV
7.5
Kitty has a Heap Buffer Overflow in its Graphics Protocol Handler
Kitty is a cross-platform GPU based terminal. Versions 0.46.2 and below contain a heap buffer overflow in load_image_data() that allows any process which can write to the terminal's stdin to crash kitty immediately. The vulnerability is triggered by a single APC graphics protocol command with a PNG format declaration (f=100) whose payload exceeds twice the initial buffer capacity. The overflow is attacker-controlled in both length and content, causing DoS and potentially escalation to RCE itself. This issue has been fixed in version 0.47.0.
- Record
CVE-2026-33633- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-122
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-33633
8.8
Kitty is a cross-platform GPU based terminal. Versions 0.46.2 and below contain a heap buffer overflow in load_image_data() that allows any process which can write to the terminal's stdin to crash kitty immediately. The vulnerability is triggered by a single APC graphics protocol command with a PNG format declaration (f=100) whose payload exceeds twice the initial buffer capacity. The overflow is attacker-controlled in both length and content, causing DoS and potentially escalation to RCE itself. This issue has been fixed in version 0.47.0.
- Record
DEBIAN-CVE-2026-33633- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-33633
7.5
Kitty is a cross-platform GPU based terminal. Versions 0.46.2 and below contain a heap buffer overflow in load_image_data() that allows any process which can write to the terminal's stdin to crash kitty immediately. The vulnerability is triggered by a single APC graphics protocol command with a PNG format declaration (f=100) whose payload exceeds twice the initial buffer capacity. The overflow is attacker-controlled in both length and content, causing DoS and potentially escalation to RCE itself. This issue has been fixed in version 0.47.0.
- Record
UBUNTU-CVE-2026-33633- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21599-1 No score
Security update for kitty
This update for kitty fixes the following issues:
Changes in kitty:
-
Update to 0.48.2:
- Wayland: Fix regression in previous release that broke drag and drop on Plasma (#10284)
- diff kitten: Fix a rare crash when showing a large diff due to incorrect locking when highlighting
- Allow the private DCS kitty-echo escape code to only echo numbers
- Linux: Fix an approx 1MB memory leak when reloading the config, introduced in version 0.40.0 (#10290)
- Desktop file chooser integration: when the specified directory does not exist, open file chooser at home directory (#10292)
- Add support for terminal visibility reports
tab_title_template: Add a field that evaluates to the total memory used by all child processes in the tab (#10293)
-
Update to 0.48.1:
- Wayland: fix a regression in the previous release that broke window sizing for on Hyprland/Sway with fractional scales and an initial specified size (#10268)
- Wayland: fix a regression in 0.47.3 that broke dragging on the Niri compositor (#10271)
- Wayland: get initial window size in cells working in most cases on Hyprland/Sway with fractional scaling by using the fractional scale of the primary monitor
- Wayland: fix using remote control to resize OS windows on some tiling compositors leading to broken rendering
- macOS: fix edge=none panel height shrinking when margin_top is non-zero in the panel/quick-access-terminal kittens (#10278)
-
Update to 0.48.0:
- Implement vertical tabs by setting tab_bar_edge to left or right (#9855)
- Graphics protocol: Add a new transient usage hint that clients can send to terminals to indicate an image is meant for only short duration use (#10092)
- On first press in an unfocused OS Window/kitty window give it focus and pass the mouse event through to the clicked element. This is a behavior change but aligns with platform defaults on macOS. Linux has no platform defaults here as far as I can tell, so it gets to follow along. (#10233)
- kitten @ get-text: Add support for
alternateandalternate_scrollbackextents to fetch text from the alternate screen buffer (#10165) - Wayland: Fix first OS window being a few cells too small when
initial_window_width/initial_window_heightare set in cells and a fractional display scale is in use (#10146) - macOS: New option
macos_ns_window_layerto more precisely control what layer panel OS windows are placed on (#10116) - macOS: New option
macos_use_physical_screen_frameto allow panel OS Windows to cover the macOS global dock bar (#10116) - kitty binary builds are now built on Ubuntu 22 upgraded from Ubuntu 18 for improved performance from better compilers
- macOS: Fix incorrect horizontal alignment when using text sizing protocol (#10179)
edit-in-kitty: Return exit code from underlying editor process on exit (#10198)- Make erasing last command robust against commands with no output and commands in the scrollback (#10201)
- Fix superfluous margin visible to the left and right of the tab bar when
background_opacityis less than one and the window width is not a multiple of the cell width (#10212) - hints kitten: Add a new flag
kitty +kitten hints --prefix-freeto generate hints without a shared prefix (#10210) - Wayland GNOME: Fix…
- Record
openSUSE-SU-2026:21599-1- Updated
- 2026-11-02
OSVUSN-8442-1 No score
kitty vulnerabilities
It was discovered that kitty incorrectly handled certain image data. An attacker able to write to the terminal's input could possibly use this issue to cause kitty to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2026-33633)
It was discovered that kitty incorrectly handled certain graphics commands. An attacker able to write escape sequences to a kitty terminal could possibly use this issue to cause kitty to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2026-33642)
- Record
USN-8442-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+deb13u1, plus listed versions 0.41.1-2 |
0.41.1-2+deb13u1 |
kittyDebian:14 |
before 0.47.0-1, plus listed versions 0.41.1-20.42.1-10.42.2-10.43.1-10.44.0-1 Show 4 moreShow less0.45.0-10.45.0-20.46.1-10.46.2-1 |
0.47.0-1 |
kittyUbuntu:Pro:20.04:LTS |
before 0.15.0-1ubuntu0.2+esm1, plus listed versions 0.14.3-10.14.4-10.14.6-10.15.0-10.15.0-1build10.15.0-1ubuntu0.2 |
0.15.0-1ubuntu0.2+esm1 |
kittyUbuntu:Pro:22.04:LTS |
before 0.21.2-1ubuntu0.22.04.1+esm1, plus listed versions 0.19.3-10.21.2-10.21.2-1build10.21.2-1ubuntu0.22.04.1 |
0.21.2-1ubuntu0.22.04.1+esm1 |
kittyUbuntu:Pro:24.04:LTS |
before 0.32.2-1ubuntu0.4+esm1, plus listed versions 0.26.5-3ubuntu20.26.5-5ubuntu10.31.0-30.31.0-40.32.2-1 Show 6 moreShow less0.32.2-1build20.32.2-1build30.32.2-1ubuntu0.10.32.2-1ubuntu0.20.32.2-1ubuntu0.30.32.2-1ubuntu0.4 |
0.32.2-1ubuntu0.4+esm1 |
kittyUbuntu:25.10 |
before 0.41.1-2+deb13u1build0.25.10.1, plus listed versions 0.39.1-10.41.1-2 |
0.41.1-2+deb13u1build0.25.10.1 |
kittyUbuntu:Pro:26.04:LTS |
before 0.45.0-1ubuntu0.1~esm1, plus listed versions 0.41.1-20.43.1-10.44.0-10.45.0-10.45.0-1build1 |
0.45.0-1ubuntu0.1~esm1 |
kittyopenSUSE:Leap 16.0 From an advisory covering 6 CVEs |
before 0.48.2-bp160.1.1 | 0.48.2-bp160.1.1 |
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-33633 is a high vulnerability (CVSS 7.5) in Kitty Project Kitty, published May 19, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.38%, the 31st percentile. Fixed in kitty 0.41.1-2+deb13u1.
References
github.com/kovidgoyal/kitty/security/advisories/GHSA-j68c-v8x4-269g
github.com/kovidgoyal/kitty/commit/e9661f0f3afb4e4dbffa509adfb3df3c9780ad34
github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33633.json
nvd.nist.gov/vuln/detail/CVE-2026-33633
security-tracker.debian.org/tracker/CVE-2026-33633
ubuntu.com/security/CVE-2026-33633
Show 15 moreShow less
cve.org/CVERecord?id=CVE-2026-33633
ubuntu.com/security/notices/USN-8442-1
ubuntu.com/security/CVE-2026-33642
bugzilla.suse.com/1268284
bugzilla.suse.com/1268285
bugzilla.suse.com/1268288
bugzilla.suse.com/1269601
bugzilla.suse.com/1275526
bugzilla.suse.com/1275527
suse.com/security/cve/CVE-2026-33633
suse.com/security/cve/CVE-2026-33642
suse.com/security/cve/CVE-2026-42850
suse.com/security/cve/CVE-2026-42851
suse.com/security/cve/CVE-2026-46604
suse.com/security/cve/CVE-2026-54057
Left out here: the rest of 1 source description. The JSON record has them.