TianoCore EDK II(EFI 开发工具包 II)中一个严重漏洞(CVE-2026-97631)已修复。TianoCore EDK II 是一款开源 UEFI 参考实现,广泛应用于大多数服务器主板。该漏洞存在于 PXE 驱动程序中,攻击者可在 IPv4 或 IPv6 网络启动期间发送特制的 ICMP 数据包来利用该漏洞。此攻击无需身份验证,攻击者即可在控制权移交给操作系统之前,以 UEFI 固件权限执行代码。这可用于绕过 UEFI 安全启动验证机制,并在启动过程中插入恶意组件。
该问题是由 UefiPxeBcDxe 驱动程序中 ICMP 消息处理程序的缓冲区溢出引起的。该驱动程序用于 PXE 启动,并在网络启动期间接收 ICMP 数据包以记录网络错误。溢出的原因是,接收到的错误消息被放置在一个固定的 504 字节缓冲区中,而没有检查接收到的数据的实际大小。如果 ICMP 数据包中发送的数据超过 504 字节,则溢出的数据会被写入缓冲区末尾之外,并与后续结构重叠。
攻击可以从全球网络发起——只需知道受害者的 IP 地址并能够确定 PXE 启动的时间点即可。知道所使用的确切固件也至关重要。 服务器 攻击者可以针对特定固件版本内存中结构的位置准备漏洞利用程序,并利用该漏洞在 DXE(驱动程序执行环境)级别执行代码,该级别运行在保护的第零层。
EDK II 项目由英特尔于 2004 年启动,被所有主流固件供应商用于服务器系统、数据中心和云服务提供商。它被用于 AMI、Insyde 和 Phoenix 等固件中。基于微软 Mu 平台(EDK II 的一个分支)的固件也存在漏洞。
该问题由 Anthropic 和 Google 的代表发现,并计划于 2027 年 1 月进行协调公开披露。然而,由于 AMI 的一名工程师不慎违反了禁令,发布了一个包含修复程序的公开拉取请求,从而暴露了漏洞的性质,因此不得不提前发布相关信息。
来源: opennet.ru
