返回

文章详情

全球大多数服务器都存在此固件代码执行漏洞

Wired2026年10月28日 20:30

世界各地的防御者面临着应对又一个失败的代码执行漏洞的负担,这次是在大多数世界服务器供应商和数据中心使用的启动时固件中的漏洞。该漏洞的严重性评级为10分中的9.5,存在于TianoCore EDK II中,这是一个开源代码库,硬件制造商和云服务提供商使用该代码库创建在启动序列中运行的UEFI固件。去年,UEFI论坛的一位代表称EDK2是“UEFI规格的首要解决方案/实现”。几乎所有UEFI供应商(有时仍称为IBV或独立BIOS供应商),包括AMI、Insyde和Phoenix,都广泛使用该参考代码。微软的强化EDK2分支Project Mu也使用了包含漏洞组件的代码。该漏洞被追踪为CVE-2026-97631,是ICMP组件中的一个内存损坏漏洞,攻击者可以利用它来执行在操作系统和固件可以实施防御(例如安全启动)的恶意代码,安全启动为在启动过程中加载的所有代码(包括可信任的平台模块TPM)建立了一条信任链。虽然由CVE-2026-97631交付的最终有效负载没有持久性——意味着它们仅运行一次——它们可以为攻击者提供广泛的空间来安装其他每次在启动过程中提早运行的有效负载。猫已逃出袋子 发现CVE-2026-97631的各方——Anthropic的Alex Matrosov和谷歌的Dan Holmes——曾安排在1月的协调披露之前保持其机密。作为主板及其他硬件制造商的AMI,上个月发布了这个包含详细漏洞和代码修复的拉取请求。一旦该帖子引起了发现方的注意,TianoCore项目成员上周发布了公共公告。由于有公开的补丁代码,先进的黑客将轻松了解该漏洞是如何触发的,并构建有效的利用程序。更令人担忧的是,修补数百万台销售和使用的终端设备中的UEFI代码漏洞,令人头痛且耗时。这一漏洞的消息是在另一个失败的披露六天后发布的,本次披露涉及PHP编程语言中的一个关键代码执行漏洞。“EDK2网络堆栈的ICMP解析器中的这个漏洞在影响信任链和更广泛的生态系统方面是有趣的,”Metasploit的创建者、网络安全公司Dragos的首席研究官HD Moore说道。“一个意图破坏附近端点或服务器的攻击者可以利用这个漏洞在启动过程中仍然可以访问敏感组件(如端点的TPM)的时刻劫持程序流程。这可以用来破坏磁盘加密,尤其在攻击者具有短期网络访问权时(在盗窃场景中将更容易)。” CVE-2026-97631是PXE基础代码驱动程序(NetworkPkg/UefiPxeBcDxe)中存在的一个16年前的缓冲区溢出,该驱动程序负责允许服务器、存储设备和其他设备使用从本地网络下载的代码启动。在这个被称为预执行环境启动的过程中,该驱动程序使用网络监听器监控ICMP错误。由于驱动程序没有强制实施504字节的内存复制限制,在覆盖相邻数据的情况下,一位恶意内部人员或获得本地网络低级访问权限的黑客可以发送一条错误信息,将代码附加到这个限制之外。运行在CPU上的IUEFI模块随后会被破坏。官方公告措辞如下:在网络启动期间,PXE基础代码驱动程序(NetworkPkg/UefiPxeBcDxe)保持ICMP错误消息的接收请求开放,并将每个接收到的消息复制到固定的504字节字段Mode.IcmpError的私有上下文结构中。复制循环的边界处理在IPv4和IPv6处理程序(PxeBcIcmpErrorDpcHandle和PxeBcIcmp6ErrorDpcHandle)中都是不正确的:对于超过504字节的消息,它仍会将字节复制到该字段中,并且以累积而非每个片段的长度推进目标指针,因此,超大消息会将攻击者控制的字节写入该字段之外。接收路径早期没有任何限制消息长度。恶意错误可以通过简单的单播从远程任何网络发送到目标设备的IP地址,只要是在PXE启动序列期间发送。攻击者可以通过导致启动序列挂起来交付拒绝服务。当攻击者知道目标固件构建时,它可以植入一个“伪造事件”,在其UEFI固件环境中的CPU上执行恶意代码。代码在ring 0中运行,这是CPU最特权的执行级别。

阅读全文 →

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡