在 iTerm2 和 Hyper 中滥用 URL 处理进行代码执行

主要观点:现代终端支持多种转义序列,可用于生成颜色、光标样式等,一些终端模拟器还允许生成超链接。不同终端处理 URL 方案的方式不同,部分存在漏洞,如 iTerm2 和 Hyper 的ssh://方案,以及 Docker 可用于注入转义序列等。
关键信息

  • 常见转义序列示例及用法,如更改终端窗口标题、响铃等。
  • 多数终端模拟器可使用Osc 8生成超链接。
  • 浏览器对非标准 URL 方案的处理方式,终端模拟器直接打开相应程序处理。
  • iTerm2 处理x-man-page://ssh://URL 方案的漏洞及 PoC 和补丁。
  • Hyper 在特定版本中ssh://方案的漏洞及 PoC 和补丁。
  • Docker 可用于向终端注入包含转义序列的任意文本。
  • iTerm2 其他已修复的问题。
    重要细节
  • echo -e "\e]2;new-title\a"可更改终端窗口标题。
  • echo -e "\a"可响铃。
  • echo -e '\033]8;;http://example.com\033\\This is a link\033]8;;\033\\\n'可在终端生成超链接。
  • iTerm2 漏洞的具体代码和影响,如x-man-page://的参数注入导致代码执行,ssh://的参数注入允许任意文件写入。
  • Hyper 漏洞的 PoC 及修复。
  • Docker 注入的恶意 JSON 架构及效果。
  • iTerm2 其他已修复的问题的提交记录。
  • 相关研究人员及披露情况,如 solid-snail 和 STÖK 的工作。
  • 建议升级 iTerm2 到 3.5.0 及 iTerm2 的捐赠方式。
阅读 14
0 条评论