他们在 Shim 中检测到一个漏洞,该漏洞允许绕过 UEFI 安全启动

漏洞

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

最近有消息说 发现远程执行漏洞,广泛用于大多数 Linux 发行版中,用于 UEFI 安全启动模式下的验证启动。

该漏洞已被归类为“CVE-2023-40547”,CVSS 评分为 8.3 分, 带来重大风险,包括远程代码执行的可能性 以及Linux安全启动机制的省略。

该漏洞存在于通过 HTTP 下载文件的代码中的缺陷, 允许处理由 Shim 访问的 HTTP 服务器生成的错误响应。攻击者可以利用此错误控制 HTTP 服务器返回精心设计的响应,这将导致对越界缓冲区的受控写入,并允许在加载过程的早期阶段执行代码。

该漏洞的本质在于Shim中的HTTPBoot模式,允许通过HTTP下载文件, 用加载器恢复文件 在引导过程的下一步中调用它。

下载时 通过 HTTP 传输文件, Shim 为接收到的数据分配一个缓冲区, 基于“Content-Length”HTTP 标头中指定的大小。然而, 当 Content-Length 标头中收到较小的值时,就会出现问题, 这导致请求结束被写入分配的缓冲区边界之外的内存,从而产生漏洞。

为了在不撤销数字签名的情况下缓解漏洞, 有人提到 可以使用SBAT机制,它与最常用的 Linux 发行版中的 GRUB2、shim 和 fwupd 兼容。

SBAT 与 Microsoft 合作开发,涉及向 UEFI 组件可执行文件添加附加元数据,例如制造商、产品、组件和版本信息。此指定的元数据经过数字签名认证,并且可以独立包含在 UEFI 安全启动允许或禁止的组件列表中。

值得一提的是,他该漏洞已在 Shim 15.8 版本中修复然而,为了确保完全防止通过 Shim 进行的攻击, 新版本需要经过微软认证 并在 Linux 发行版中实现。

尽管问题是在不撤销先前版本签名的情况下,该解决方案没有意义,因为攻击者可以使用带有易受攻击版本的 Shim 的启动设备来破坏 UEFI 安全启动。但撤销签名将导致无法验证继续使用以前版本 Shim 的发行版的启动。

最后值得一提的是,除了解决上面提到的主要漏洞之外, Shim 15.8 还解决了一些安全问题 不太重要,可以在本地利用。这些安全问题通过以下 CVE 标识符进行标识:

  1. CVE-2023-40548:此问题涉及verify_sbat_section函数中的整数溢出,这可能会导致32位系统上的缓冲区溢出。
  2. CVE-2023-40546:通过 LogError() 函数报告错误消息时,会发生内存读取越界的情况。
  3. CVE-2023-40549:在 verify_buffer_authenticode() 函数中处理特制的 PE 文件时,会发生另一个越界内存读取。
  4. CVE-2023-40550:涉及verify_buffer_sbat()函数中从缓冲区中读取内存。
  5. CVE-2023-40551:解析MZ文件时出现内存读取越界的情况。

该漏洞凸显了解决安全协议实施中的弱点的重要性,特别是在关键系统中,例如 Linux 发行版中的安全启动过程。

最后但并非最不重要的一点是,一如既往,我们建议用户应用相关补丁和更新,以减轻与此漏洞相关的风险,并保护其系统免受可能的攻击。

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


发表您的评论

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

*

*

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