CVE-2026-33633Kitty终端0.46.2及以下版本存在堆缓冲区溢出漏洞。攻击者通过向终端stdin发送特制的APC图形协议命令触发该漏洞。该命令声明PNG格式(f=100)并携带超长载荷,导致缓冲区溢出。成功利用可导致服务拒绝甚至远程代码执行。建议用户尽快升级到0.47.0版本以修复此问题。
该漏洞位于Kitty终端的`load_image_data()`函数中,由于对APC图形协议命令的解析缺乏严格的边界检查。当终端接收到格式为f=100(PNG)的图像数据命令时,如果攻击者提供的载荷长度超过初始缓冲区分配大小的两倍,程序在拷贝数据时会发生堆缓冲区溢出。由于溢出数据的长度和内容完全由攻击者控制,这不仅会破坏堆内存结构导致崩溃,还可能被利用覆盖关键内存指针,从而实现任意代码执行。利用条件是攻击者需要有权限向目标终端的stdin写入数据。