导 读
Shim Linux 引导加载程序中的一个严重漏洞使攻击者能够在加载内核之前执行代码并控制目标系统,从而绕过现有的安全机制。
Shim 是由 Red Hat 维护的小型开源引导加载程序,旨在促进使用统一可扩展固件接口 (UEFI) 的计算机上的安全引导过程。
该工具使用大多数 UEFI 主板默认接受的 Microsoft 密钥进行签名,用于验证引导过程的下一阶段,通常加载 GRUB2 引导加载程序。
Shim 的创建是为了让 Linux 发行版等开源项目能够受益于安全启动的优势,例如防止启动过程中未经授权或恶意代码的执行,同时仍保持对硬件的控制。
新的 Shim 漏洞编号为 CVE-2023-40547,由微软安全研究员 Bill Demirkapi 发现,并于 2024 年 1 月 24 日首次披露。
该漏洞存在于 Shim 的 httpboot.c 源代码中,该源代码用于通过 HTTP 启动网络映像。
“当通过 HTTP 或相关协议检索文件时,shim 会尝试分配缓冲区来存储接收到的数据”,修复 httpboot.c 中的 bug 的提交内容如下。
“不幸的是,这意味着从 HTTP 标头获取大小,可以操纵该标头来指定小于接收数据的大小。”
“在这种情况下,代码意外地使用标头进行分配,但使用协议元数据从 rx 缓冲区复制它,从而导致越界写入。”
有关该漏洞的更多详细信息于 2024 年 2 月 2 日公布, Eclypsium 昨天发布了一份报告 (https://eclypsium.com/blog/the-real-shim-shady-how-cve-2023-40547-impacts-most-linux-systems/),以提请人们注意这一安全问题。
该漏洞存在于 Shim 对 HTTP 响应的解析中,允许攻击者创建特制的 HTTP 请求以导致越界写入。
这可能允许攻击者通过在操作系统加载之前执行特权代码来破坏系统,从而有效地绕过内核和操作系统的安全机制。
Eclypsium 表示,多个潜在的利用路径可以利用 CVE-2023-40547,包括本地、网络相邻和远程攻击点。该公司的报告强调了以下三种方法:
远程攻击者可以执行中间人 (MiTM) 攻击,拦截可能来自受害者和服务器之间的任何网络位置的 HTTP 流量以进行 HTTP 启动。
具有足够权限的本地攻击者可以使用实时 Linux USB 修改 EFI 变量或 EFI 分区,以更改启动顺序并加载受损的填充程序,从而在不禁用安全启动的情况下执行特权代码。
同一网络上的攻击者可以使用 PXE 加载受损的 shim 引导加载程序,从而利用该漏洞。
影响和修复
RedHat 于 2023 年 12 月 5 日发布了 修复 CVE-2023-40547 的代码提交 ,但支持安全启动并使用 Shim 的 Linux 发行版需要推送自己的补丁。
使用 Shim 的 Linux 发行版(例如 Red Hat、Debian、Ubuntu和 SUSE)已经发布了包含该缺陷信息的公告。
建议 Linux 用户更新到 Shim 的最新版本 v15.8,其中 包含对 CVE-2023-40547 和其他五个重要漏洞的修复。
Eclypsium 解释说,Linux 用户还必须更新 UEFI 安全启动 DBX(撤销列表),以包含易受攻击的 Shim 软件的哈希值,并使用有效的 Microsoft 密钥对修补版本进行签名。
为此,请首先升级到 Shim 15.8,然后使用“fwupdmgr update”命令应用 DBX 更新(需要 fwupd)。
更新 DBX (Eclypsium)的命令
某些 Linux 发行版提供了 GUI 工具来执行此更新,因此请确保在深入终端之前检查您的包管理器。
尽管不太可能被大规模利用,但 CVE-2023-40547 并不是一个应该被忽视的漏洞,因为在操作系统启动之前执行代码是最强大、最隐蔽的攻击方式之一。
参考链接:https://www.bleepingcomputer.com/news/security/critical-flaw-in-shim-bootloader-impacts-major-linux-distros/
原文始发于微信公众号(会杀毒的单反狗):Shim 引导加载程序的严重缺陷影响主要 Linux 发行版
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论