字号·· | 护眼
连线

全球大多数服务器易受这一固件代码执行漏洞影响Most Servers on the Planet Are Vulnerable to This Firmware Code-Execution Flaw

点「原文对照」整页切到原文,或双击某段只看那段的原文。

全球防御者面临着应对又一个代码执行漏洞的重担,这一次漏洞存在于大多数全球服务器供应商和数据中心使用的启动时固件中。

Defenders across the world face the burden of responding to yet another botched code-execution vulnerability, this time in boot-time firmware used by most of the world’s server vendors and data centers.

该漏洞严重性评级为 9.5 分(满分 10 分),位于 TianoCore EDK II 中,这是一个开源代码库,硬件制造商和云服务提供商用它来创建启动序列期间运行的 UEFI 固件。去年,UEFI 论坛的一位代表称 EDK2 为“UEFI 规范的首要解决方案/实现”。几乎所有 UEFI 供应商(有时仍称为 IBV 或独立 BIOS 供应商),包括 AMI、Insyde 和 Phoenix,都广泛使用该参考代码。微软的强化 EDK2 分支 Project Mu 也使用了包含该漏洞组件的代码。

The vulnerability, with a severity rating of 9.5 out of 10, resides in the TianoCore EDK II, an open source codebase that hardware makers and cloud providers use to create the UEFI firmware that runs during the boot-up sequence. Last year, a representative of the UEFI Forum called EDK2 the “preeminent solution / implementation of the UEFI specifications.”Virtually all UEFI suppliers (sometimes still called IBVs or independent BIOS vendors), including AMI, Insyde, and Phoenix, use the reference code extensively. Project Mu, Microsoft’s hardened EDK2 fork, used the code containing the vulnerable component as well.

该漏洞编号为 CVE-2026-97631,是 ICMP 组件中的一个内存损坏缺陷,攻击者可利用它在操作系统和固件实施诸如安全启动等防御措施之前执行恶意代码,安全启动为启动期间加载的所有代码(包括可信平台模块 TPM)建立信任链。虽然 CVE-2026-97631 交付的最终载荷没有持久性——意味着它们仅运行一次——但它们能给攻击者提供一个宽广的窗口,以安装其他同样在启动过程早期每次都运行的载荷。

The vulnerability, tracked as CVE-2026-97631, is a memory-corruption flaw in an ICMP component that attackers can exploit to execute malicious code that runs before the operating system and firmware can implement defenses like Secure Boot, which establishes a chain of trust for all code, including the Trusted Platform Module (TPM), loaded during boot. While final payloads delivered by CVE-2026-97631 have no persistence—meaning they run only once—they can give attackers a wide opening to install other payloads that also run each time early in the boot process.

猫已出袋 发现 CVE-2026-97631 的各方——Anthropic 的 Alex Matrosov 和 Google 的 Dan Holmes——曾安排其在计划于 1 月进行的协调披露前保持保密。主板及其他硬件制造商 AMI 上个月发布了这个拉取请求,详细描述了该漏洞并包含代码修复。该帖子引起发现方注意后,TianoCore 项目成员上周发布了公开通告。

The Cat Has Left the Bag The parties that discovered CVE-2026-97631—Alex Matrosov of Anthropic and Dan Holmes of Google—had arranged for it to stay under wraps until a coordinated disclosure that was scheduled for January. AMI, a maker of motherboards and other hardware, published this pull request last month that detailed the vulnerability and included a code fix. Once the post came to the attention of the discovering parties, TianoCore Project members published a public advisory last week.

由于补丁代码已公开,高级黑客要了解该漏洞的触发方式并构建可用的利用代码将易如反掌。更增加了紧迫性的是,为数以百万计的最终用户设备修补 UEFI 代码漏洞——这些设备由数千家硬件制造商和云服务提供商销售和使用——既繁琐又耗时。此次漏洞披露距离另一次失误披露仅过去六天,那次涉及 PHP 编程语言中的一个关键代码执行漏洞。

With publicly available patch code, it will be trivial for advanced hackers to learn how the vulnerability is triggered and to build working exploits. Further compounding the urgency, patching UEFI code vulnerabilities in millions of end devices sold and used by thousands of hardware makers and cloud providers is cumbersome and time-consuming. Word of the vulnerability comes six days after another botched disclosure, this one involving a critical code-execution vulnerability in the PHP programming language.

“EDK2 网络协议栈中 ICMP 解析器的这个漏洞,就其如何影响信任链和更广泛的生态系统而言,颇具研究价值,” Metasploit 创始人、安全公司 Dragos 首席研究官 HD Moore 表示。“意图攻破附近端点或服务器的攻击者,可利用此漏洞在启动流程仍能访问敏感组件(如端点的 TPM)的节点上劫持程序流。这可用于破解磁盘加密,适用于攻击者拥有短期网络访问权限的情况(在设备被盗场景下会更容易)。”

“This vulnerability in the ICMP parser of the EDK2 network stack is interesting in terms of how it affects the chain of trust and the broader ecosystem,” said HD Moore, creator of Metasploit and chief research officer at security firm Dragos. “An attacker intent on compromising a nearby endpoint or server could use this bug to hijack program flow at a point where the boot process still has access to sensitive components, like the endpoint’s TPM. This could be used to break disk encryption for cases where an attacker has short-term network access (and it would be even easier in a theft scenario).”

CVE-2026-97631 是一个存在了 16 年的缓冲区溢出漏洞,位于 PXE 基础代码驱动程序中,该驱动程序负责允许服务器、存储设备和其他设备使用从本地网络下载的代码进行启动。在此过程中——称为预启动执行环境启动——该驱动程序使用网络监听器来监控 ICMP 错误。由于该驱动程序未强制执行 504 字节的内存复制限制,导致覆盖相邻数据,恶意内部人员或已获得本地网络低级访问权限的黑客可发送一个在该限制之外追加代码的错误消息。

CVE-2026-97631 is a 16-year-old buffer overflow in the PXE-Base Code driver (NetworkPkg/UefiPxeBcDxe), which is responsible for allowing servers, storage equipment, and other devices to boot using code downloaded from a local network. During this process—known as the pre-execution environment boot—the driver uses a network listener to monitor for ICMP errors. Because the driver doesn’t enforce a memory copy limit of 504 bytes, overwriting adjacent data, a malicious insider or a hacker who has gained low-level access to a local network can send an error message that appends code past this limit.

运行在 CPU 上的 IUEFI 模块随即损坏。正如官方公告所言:这种恶意错误可通过简单的单播传递,从任意网络距离发送至目标设备的 IP 地址,只要是在 PXE 启动序列期间发送即可。攻击者可导致启动序列挂起,从而实施拒绝服务攻击。当攻击者知晓目标固件构建版本时,可植入“伪造事件”,使恶意代码在其 UEFI 固件环境中的 CPU 上执行。

The IUEFI module running on the CPU then becomes corrupted. As the official advisory puts it: The malicious error can be delivered through a simple unicast sent from any network distance to a target device’s IP address, as long as it’s sent during the PXE boot sequence. An attacker can deliver a denial-of-service by causing the boot sequence to hang. When the attacker knows what the target firmware build is, it can plant a “counterfeit event” that executes the malicious code on the CPU in its UEFI firmware environment.

该代码运行在 Ring 0,即 CPU 的最高特权执行级别。由于漏洞利用绕过了旨在通过加密方式向远程服务器证明硬件安全的认证流程,因此为提升有限权限提供了关键机会。

The code runs in ring 0, a CPU’s most privileged execution level. Because exploits bypass attestation processes designed to cryptographically prove to remote servers that the hardware is secure, they present a key opportunity for elevating limited privileges.

CVE-2026-97631 又是一个“永远日”漏洞,加入了此前在 UEFI 或与其紧密配合的代码中发现的漏洞长列表。其中最严重的是 LogoFail,源于几乎所有硬件厂商 UEFI 中包含的徽标图像。渲染漏洞使攻击者能够颠覆 UEFI 强制执行的信任链,进而在操作系统加载或安全启动运行前安装恶意组件。PixieFail 是一个与 CVE-2026-97631 类似的漏洞,同样是 EDK2 中 PXE 启动缺陷导致的。

Yet Another Forever Day CVE-2026-97631 joins a long list of previously discovered vulnerabilities in UEFI or code that works closely with it. The most severe of them, LogoFail, stemmed from logo images included in the UEFI of just about every hardware maker. Rendering bugs allowed attackers to subvert the chain of trust UEFI enforces and go on to install malicious components before the OS loaded or Secure Boot ran. PixieFail was a vulnerability similar to CVE-2026-97631. It, too, was the result of faulty PXE boot flaws in EDK2.

该漏洞被发现后,研究人员启动了多个模糊测试项目,旨在挖掘该开源代码库中的其他关键缺陷。看来这些努力未能发现这一最新漏洞。其他近期发现的 UEFI 漏洞包括:PKFail,一起供应链故障,源于非生产环境测试平台密钥,这些密钥公开长达十余年才被发现,却被用于数百款设备型号;BlackLotus。

Following discovery of the vulnerability, researchers embarked on multiple fuzzing projects designed to surface other critical flaws in the open source code library. It appears those efforts failed to find this latest flaw. Other recently discovered UEFI flaws include: PKFail, a supply-chain failure resulting from non-production test platform keys, public for more than a decade before they were discovered, used in hundreds of device models; BlackLotus.

与 CVE-2026-97631 类似,利用或使用这些载荷极具吸引力,因为它允许攻击者在启动过程的早期阶段感染机器,即在 TPM 和其他防御机制加载之前,从而造成最大程度的破坏。鉴于 CVE-2026-97631 的普遍存在,Moore 表示,这很可能是一个“永久性”漏洞,将长期存在于已停止支持的系统中。

Like CVE-2026-97631, exploitation or use of these payloads is appealing because it allows attackers to infect machines early in the boot process, before TPM and other defenses load, so they can inflict maximum damage. Given the ubiquity of CVE-2026-97631, Moore said it’s likely a “forever” bug that will live on in end-of-support systems.

利用这一最新漏洞存在重要的注意事项和局限性。如前所述,对本地网络的一定程度控制是前提条件。这很可能将利用范围限制在内部人员或攻击者(如国家支持的黑客组织或勒索软件运营者)手中,他们设法获得了网络内部的低级访问权限,并正在寻找提升系统权限的方法。目前没有证据表明 CVE-2026-97631 能为进入网络提供初始切入点。还有其他障碍需要克服。

There are important caveats and limitations to exploiting this latest vulnerability. As noted, some level of control over a local network is a prerequisite. That likely limits exploitation to insiders or attackers, such as nation-states or ransomware operators, who manage to gain low-level access inside a network and are looking for a way to elevate system rights. There’s no evidence yet that CVE-2026-97631 provides an initial entry point into a network. There are other hurdles to clear.

固件安全公司 Eclypsium 的首席研究员 Jesse Michael 告诉 Ars:“要利用该漏洞本身,攻击者需要猜测目标系统内的特定地址,因此这不是那种可以对任何目标投放单一漏洞利用代码,就能在各种不同设备上实现远程代码执行(RCE)的情况,而是需要针对每个目标型号/版本/配置进行调整,因为地址会根据这些因素而变化。”

“For exploiting the vulnerability itself, an attacker needs to guess specific addresses within the target system, so it’s not something that you can throw a single exploit at any target and get RCE across a diverse range of devices, but it needs to be tuned for each target model/version/configuration since the addresses will change based on those,” Jesse Michael, a principal researcher at firmware security firm Eclypsium, told Ars.

“与之前一些备受关注的漏洞(如 BootHole、Black Lotus 和 Baton Drop)不同,该漏洞可通过基础代码修复来解决,这将需要部署 BIOS/UEFI 更新,但无需处理吊销、PK/KEK/db/dbx 密钥管理更新,也不必像修复引导加载程序中的 Secure Boot 绕过漏洞那样,确保更新操作系统和预置介质。” CVE-2026-97631 不影响家庭和小型办公室用户,也不影响仅从磁盘驱动器启动设备的任何其他用户。

“Unlike some of the previous, high-profile vulnerabilities like BootHole, Black Lotus, and Baton Drop, this vulnerability can be fixed with a basic code fix, which will require deploying a BIOS/UEFI update, but they don’t need to deal with revocations, pk/kek/db/dbx key management updates, or making sure to update OS and provisioning media like you do with Secure Boot bypasses in the bootloader itself.”CVE-2026-97631 doesn’t affect home and small office users, or any other users who boot their devices solely from disk drives.

相反,它仅适用于拥有从本地网络启动机器的组织,或从连接互联网的资源启动机器的组织。即便如此,目标固件也必须依赖 EDK2,而非其他参考实现,并使用 PXE 功能(该功能默认开启)。

Instead, it applies only to organizations with machines that boot from local networks, or conceivably from Internet-connected resources. Even then, the targeted firmware must rely on EDK2, as opposed to a different reference implementation, and use the PXE functionality (which is turned on by default).

在一封电子邮件中,英特尔表示,其“目前处于安全支持期内的商业产品”均未发现受影响。“英特尔的参考代码中不包含受影响的 EDK2 功能,尽管 OEM 板卡供应商或系统制造商可能会对其进行集成,”该公司补充道。它建议客户咨询其系统制造商以获取具体指导。然而,公开可用的英特尔参考代码确实提到了 EDK2。此外,TianoCore 表示,英特尔提供的每个 UEFI 开发工具包“都是针对 EDK II 源代码特定版本的完全验证实现……”。许多其他英特尔文档也引用了 EDK2。

In an email, Intel said that none of its “commercial products currently under security support” are known to be affected. “Intel does not include the affected EDK2 functionality in its reference code, though it may be integrated by an OEM board vendor or system manufacturer,” the company added. It advised customers to check with their system manufacturer for specific guidance. Publicly available Intel reference code, however, makes reference to EDK2. Further, TianoCore has said that each Intel-supplied UEFI development kit “is a fully validated implementation … for a specific revision of the EDK II source.”Many other Intel documents reference EDK2 as well.

Arm 则针对一系列问题回应称:“CVE-2026-97631 不直接适用于 Arm 的产品组合。” 与英特尔类似,该公司提供的固件也大量借用了 EDK2。TianoCore 也记录了 Arm 对 EDK2 的依赖。

Arm, meanwhile, responded to a list of questions with: “CVE-2026-97631 is not directly applicable to Arm’s product portfolio.”Like Intel, firmware the company makes available also borrows heavily from EDK2. TianoCore has also documented Arm’s reliance on EDK2.

虽然某些平台可能不含 EDK2 代码,但所有服务器用户调查 CVE-2026-97631 是否影响自身,均属审慎之举。

While it’s possible some platforms are free of EDK2 code, it’s prudent for users of all servers to investigate if CVE-2026-97631 affects them.

发给 AMD、Phoenix Technologies、AMI、微软和亚马逊的提问——这些很可能是受影响的其他最大型组织——在本文发布时仍未得到回复。由于缺乏关于这些组织使用 EDK2 情况的具体回答,无法判断哪些设备受到影响、影响方式如何,以及这些组织或其用户应采取何种行动(如果有)。TianoCore 项目的代表也没有回应。

Questions sent to AMD, Phoenix Technologies, AMI, Microsoft, and Amazon—likely some of the other biggest organizations affected—went unanswered when this post went live. Without concrete answers to questions about the use of EDK2 by organizations like these, it’s impossible to say what or how devices are affected and what actions, if any, these organizations, or their users, should take. Representatives from the TianoCore Project also didn’t respond.

部分读者可能会对细节的缺失感到不满。有时——特别是在涉及泄露消息、比预定解禁时间早数月就打破禁令的失误披露案件中——初期报道中缺乏可操作信息是无法避免的。

Some readers are likely to be unhappy at the lack of detail. Sometimes—particularly in cases involving botched disclosures that break embargoes months before they’re scheduled to lift—there’s no escaping the lack of actionable information in initial reporting.

受影响方应联系其系统启动所用固件的制造商,寻求指导。除此之外,如果条件允许,他们应考虑至少暂时关闭网络启动功能。固件配置应尽可能启用 TPM 和安全启动等安全功能,尽管这些防御措施无法防范这一特定威胁。监控日志以发现利用尝试的迹象也是个好主意。本文原载于 Ars Technica。

Those affected should check with the maker of the firmware being used to boot their systems and ask for guidance. Beyond that, they should consider turning off network boot capabilities at least temporarily if possible. Firmware configurations should always enable security features such as TPM and Secure Boot whenever possible, although those defenses don’t protect against this particular threat. It’s also a good idea to monitor logs for signs of exploitation attempts. This story originally appeared on Ars Technica.

阅读媒体原文 ↗