Ghostty存在任意命令执行的漏洞CVE-2024-56803
Ghostty 是一款跨平台的终端模拟器,其独特之处在于速度快、功能丰富且原生,可以在速度、功能或本机UI三个功能之间实现均衡选择。
Ghostty 计划通过公开现代的、可选的功能来突破终端仿真器的可能性界限,使 CLI 工具开发人员能够构建功能更丰富的交互式应用程序。
一、基本情况
Ghostty是Mitchell Hashimoto(HashiCorp联合创始人)采用Zig语言创建的全新开源跨平台终端模拟器,2024年12月底正式发布1.0版本。
现有的终端模拟器在速度、功能性和原生平台UI三方面都各有优势,Ghostty在这三方面都表现优异,即使不是最好,但也极富有竞争力。
Ghostty采用Zig编写,支持GPU加速,Linux和macOS上分别采用各自GUI构建,macOS基于SwiftUI,Linux基于GTK,Windows不支持。
栋科技漏洞库关注到Ghostty受影响版本不正确地处理窗口标题序列,可能导致任意命令执行,追踪为CVE-2024-56803,CVSS评分5.1。
二、漏洞分析
CVE-2024-56803漏洞是Ghostty受影响版本中存在的可能导致任意命令执行的漏洞,影响Ghostty 1.0.0版本,Ghostty 1.0.1版本已修复。
具体来说,Ghostty 1.0.0版本中默认允许的情况下,攻击者通过特定的字符转义序列修改窗口标题并将其重新插入用户的终端命令行中。
例如,当用户查看包含恶意序列的文件时,攻击者可以执行任意命令,这种攻击要求攻击者发送恶意转义序列,然后说服用户按“回车”键。
Ghostty v1.0.1中已修复该漏洞,相关应用的开发者在 title_report添加了一个新的配置,从而使得默认为false以禁用标题报告(CSI 21 t)。
该文档指出了启用此功能的安全风险,但出于兼容性原因它仍然可用,可以通过在配置中显式设置标题来解决 Ghostty v1.0.0 中的问题。
例如: title = Ghostty ,设置标题后,设置的标题 CSI 将被忽略,v1.0.0 中的报告标题将报告固定标题。
三、影响范围
Ghostty 1.0.0
四、修复建议
Ghostty 1.0.1
五、参考链接