Tabby终端模拟器中存在高危漏洞CVE-2024-55950
Tabby(原名 Terminus)是高度可配置的终端模拟器、SSH和串行客户端,适用于 Windows、macOS 和 Linux,是开源的终端连接工具。
Tabby是全能终端工具,支持本地shell操作和轻松管理SSH、Telnet、串行连接,无论开发者、运维人员,还是需要频繁远程工作的用户。
一、基本情况
Tabby是一个由 Github 开源的终端连接工具,支持Windows、MacOS和Linux,内置SFTP功能,提供SSH/Telnet客户端及Web应用部署。
用户可以利用该工具轻松创建本地和远程终端,及进行文件传输,支持多平台,Windows、MacOS(Intel 芯片/M1 芯片)、Linux等端。
栋科技漏洞库关注到Tabby(前称Terminus)终端模拟器中存在高危漏洞,该漏洞被追踪为CVE-2024-55950,该漏洞的CVSS评分为8.6。
二、漏洞分析
CVE-2024-55950是Tabby中的高危漏洞,源于Tabby的macOS应用程序,因其包含过多权限设置,如访问摄像头、麦克风和个人文件夹。
具体而言,Tabby终端仿真程序1.0.216之前版本包含了对其核心功能和插件系统不必要的过于宽松的授权,从而产生了潜在的安全漏洞。
Tabby是一个高度可配置的终端模拟器,目前拥有强大的权限,包括摄像头、麦克风访问以及访问个人文件夹(下载、文档等)等的能力。
这些权限与不必要的特权结合,导致了显著的安全风险,根据安全建议,这些特权并非Tabby正常运行所需,因其插件系统基于NodeJS。
因此而言,Tabby的插件和主题是基于NodeJS的,不需要外部本地库或框架,且在代码库中没有使用环境变量,根本不必获取这些权限。
况且,iTerm2和Waveterm等类似的终端模拟器在没有这些特权的情况下也可以正常运行,也就进一步的质疑了该程序获取权限的必要性。
过多权限使得攻击者可利用多种攻击向量实现攻击,包括TCC绕过,攻击者通过DYLD_INSERT_LIpARY注入或dylib劫持注入恶意代码。
一旦代码注入成功,该代码将继承Tabby的广泛权限允许未授权访问,包括潜在监控和数据提取,暴露了macOS用户的隐私和安全风险。
建议检查如下授权:com . apple . security . cs . allow-dyld-environment-variables和com . apple . security . cs . disable-lipary-validation。
通过Apple Events检查授权,同时维护支持代码注入的危险授权以防止DYLD_INSERT_LIpARIES注入,同时保持完整的应用程序功能。
安全研究人员Winslow发现了这一漏洞,并发布了概念验证的利用代码并展示其在现实世界中的影响,Tabby 1.0.216版本已修复该漏洞。
除了建议审查并移除不必要的特权,确保配置符合最低权限要求,开发者也被提醒评估并限制不必要的权限,以减少应用程序的攻击面。
三、影响范围
Tabby < 1.0.216
四、修复建议
Tabby >= 1.0.216
五、参考链接