在 xterm 中检测到导致代码执行的漏洞

漏洞

如果被利用,这些漏洞可能允许攻击者未经授权访问敏感信息或通常会导致问题

最近有消息说 在 xterm 终端模拟器中发现了一个漏洞 (已编入 CVE-2022-45063 目录),问题 允许执行 shell 命令 当在终端中处理某些转义序列时。

关于提到的问题 是由于escape code 50的处理出错 用于设置或获取字体选项。 如果请求的字体不存在,则操作返回请求中指定的字体名称。

问题出在OSC 50序列,配置参考 喷泉。 如果给定的源不存在,则不设置,而是查询 将返回设置的名称。 控制字符不能 包含在内,但响应字符串可以以 ^G 结尾。 东方 本质上给了我们一个将文本返回到终端的原语 并以 ^G 结尾。

不能直接插入控制字符 在名字里, 但返回的字符串可以以序列“^G”结束, 在 zsh 中,当 vi 风格的行编辑模式处于活动状态时,会导致执行列表扩展操作,可用于执行命令而无需明确按下回车键。

对于最简单情况下的攻击, 显示专门设计的文件的内容就足够了 在屏幕上,例如,使用 cat 实用程序,或从剪贴板粘贴一行。

Debian、Red Hat 等默认禁用字体操作 ,但用户可以重新启用它们 通过选项或配置菜单。 此外,上游 xterm 确实 默认情况下不会禁用它们,因此某些发行版包括 易受攻击的默认配置。

要成功利用该漏洞, 用户必须使用 Zsh shell 并将命令行编辑器 (vi-cmd-mode) 更改为“vi”模式,通常在发行版中默认不使用。

基本上,我们需要:
zsh的
vi 样式中的活动行编辑模式
将木马的文本复制到剪贴板
粘贴到zsh

这可以自动完成,许多站点在将文本复制到剪贴板时修改文本。 所以我只使用浏览器不访问的选择缓冲区。 只有在 gtk3 中,特别是在 ff 中,它们才会由于某种原因不断中断,这让人筋疲力尽。

当 xterm 设置为 allowWindowOps=false 或 allowFontOps=false. 例如,配置 允许FontOps = false 它在 OpenBSD、Debian 和 RHEL 上设置,但在 Arch Linux 上默认不强制执行。

根据变更日志和发现问题的研究人员的陈述,该漏洞 在 xterm 375 版本中修复, 但根据其他消息来源,该漏洞继续在 Arch Linux 的 xterm 375 中显现。

这意味着要利用此漏洞,用户必须
在 vi 行编辑模式下使用 Zsh(通常通过 $EDITOR 中有“vi”
它的)。 虽然有些晦涩难懂,但这并非完全闻所未闻。
配置。

在该设置中,类似于:
printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063
cat cve-2022-45063 # 或其他将其传递给受害者的方式

最后,与往常一样,建议受影响系统的用户保持系统更新,因为正如您所知,当安全漏洞已知时,开发人员必须修复这些错误,因为这些错误的大部分利用方式都会被披露。

值得一提的是 默认设置中不允许进行字体操作 的xterm 一些 Linux 发行版, 所以并不是所有的发行版都容易出现这个错误。 对于那些有兴趣关注发行版更正发布的人,他们可以在这些页面上进行: DebianRHELFedoraSUSEUbuntuArch LinuxOpenBSD系统FreeBSD的NetBSD的.

如果你是 有兴趣了解更多,您可以查看详细信息 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。