CVE-2026-97631: EDK II PXE flaw (CVSS 9.5) allows pre-boot code execution in server firmware
A buffer overflow in the open-source UEFI code behind most server firmware can run attacker code during network boot; the fix is in the source tree, but vendor firmware updates are still awaited.
· 8 min read
Written by AI from the sources linked below. How we use AI
On this page
A critical memory-corruption bug in TianoCore EDK II, the open-source codebase behind most server firmware, was made public on 22 October 2026 as CVE-2026-97631. It sits in the PXE network-boot driver, scores 9.5 out of 10 on the CVSS 4.0 scale, and lets an attacker who can send a network packet to a machine while it is network-booting run code before the operating system, Secure Boot or the TPM's protections come into play. A fix is already in the EDK II source tree, but the advisory still says "Not patched currently", and no tagged stable release with the fix was visible in the sources we read. For anyone who runs servers that boot over the network, the real work is waiting for firmware updates from the hardware vendor.
Key points
- CVE-2026-97631 is a buffer overflow in EDK II's PXE Base Code driver (
NetworkPkg/UefiPxeBcDxe), published 22 October 2026 with a CVSS 4.0 score of 9.5 (Critical), according to the GitHub advisory GHSA-99cj-7hg9-mp4m. - The advisory credits Alex Matrosov (Anthropic) and Dan Holmes-Mitra (Google) with finding it and recommending the fix.
- The fix was merged into EDK II's master branch on 15 October 2026 as pull request #13302, a week before the advisory, which still lists the issue as "Not patched currently".
- It matters only while a machine is PXE-booting over IPv4 or IPv6; the attacker needs to be able to deliver a unicast ICMP error message to the target's IP address during that window.
- Ars Technica reports that Intel says none of its commercial products under security support are known to be affected, but that OEMs may have integrated the affected code.
What to do
Who is affected. Firmware built from EDK II code that includes the PXE Base Code driver, with network boot (PXE) active. The advisory lists the affected version as "EDK II master as of 2026-09-14". A third-party tracker, strix.ai, which copies the CNA (CVE Numbering Authority) record, lists "<= edk2-stable202608". Either way, the practical question is whether your vendor's firmware build includes the vulnerable driver, and the vendor, not the EDK II project, can answer that.
Fix. Source-level fix: pull request #13302 in tianocore/edk2. For a deployed server, the fix arrives as a BIOS/UEFI update from your system or motherboard maker. We could not find a vendor bulletin from AMI, Insyde, Phoenix or a server maker in the sources we checked, so check your vendor's security page directly.
Workarounds. The advisory states none. Common-sense mitigations follow from the way the bug works, and they are our reading, not vendor guidance: turn off PXE/network boot in firmware setup on machines that do not need it, put provisioning networks on isolated VLANs, and restrict who can send traffic to hosts during boot.
How to check. Ask your hardware vendor whether your firmware is built on EDK II and whether it carries the fix for CVE-2026-97631. Inventory which machines boot from the network at all; machines that boot only from local disks are not exposed, according to Ars Technica.
What happened
The advisory GHSA-99cj-7hg9-mp4m, published on 22 October 2026, is titled "Pre-boot RCE in EDK II PXE driver". It describes a flaw in how the PXE Base Code driver handles ICMP error messages. While a machine boots over the network, the driver keeps a receive request open for ICMP errors and copies each message into a fixed 504-byte field called Mode.IcmpError inside its private context structure. According to the advisory, the bounds handling is wrong in both the IPv4 handler (PxeBcIcmpErrorDpcHandle) and the IPv6 handler (PxeBcIcmp6ErrorDpcHandle). A message longer than 504 bytes is still copied, writing past the end of the field, and "Nothing earlier on the receive path restricts the message length."
The advisory lists two outcomes. In the first, the corrupted driver data causes a CPU exception on the next ICMP error and the boot hangs, which is a denial of service. In the second, an attacker who knows the target's firmware build can plant a counterfeit event so that the firmware's event-signalling routine, CoreSignalEvent(), dispatches attacker-supplied bytes during the DXE phase, the stage of boot where drivers load. That is code execution at the firmware's most privileged level. The weaknesses are classed as CWE-120, CWE-131 and CWE-787, and the CVSS 4.0 vector is AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H: network attack, low complexity, some attack requirements, no privileges or user interaction, and high impact across the board.
The timeline is messier than a normal coordinated disclosure. Ars Technica's Dan Goodin reports that the two researchers had arranged for the flaw to stay private until a coordinated disclosure planned for January, but that AMI published a pull request the previous month with a description and a code fix. Once the finders noticed, TianoCore members published an advisory. The EDK II pull-request record shows the project's own fix, #13302, opened on 14 October by Michael D. Kinney and merged on 15 October. It carries code originally written in the earlier pull request #13200, which was closed in favour of it. The CVE record, as summarised by third-party trackers, reserved the ID on 24 September and published it on 22 October.
One comment on the fix shows the strain in the process. On 16 October a contributor asked how security issues should be reported, and maintainers replied that private advisory reports had gone without a response for months and asked whether patches should simply be submitted as public pull requests. We are reporting that exchange as it appears on the page; it is one thread, not a verdict on the project.
Background
EDK II is the open-source reference implementation of the UEFI specification, the firmware interface that replaced the traditional BIOS. Independent BIOS vendors such as AMI, Insyde and Phoenix build commercial firmware on it, as do cloud providers and server makers; Ars Technica says Microsoft's hardened fork, Project Mu, also used the vulnerable component. Because so many products share one code base, a single bug propagates to many vendors, and each of them must ship its own update.
This is not the first time the PXE network stack has been at fault. Ars Technica compares CVE-2026-97631 with PixieFail, a set of 2023 flaws in EDK II's network boot code, and with LogoFail, where image-parsing bugs in firmware let attackers subvert the chain of trust. Researchers then ran fuzzing projects against the library to find more such bugs; Ars notes that they apparently missed this one, which it describes as 16 years old.
We have covered firmware attacks recently too: in BlackX, a UEFI bootkit that abuses Baton Drop on patched Windows, the attackers needed a flaw in a signed bootloader. The EDK II bug is different in kind: it needs no key revocations or boot-media rebuilds to fix, only new firmware.
How it works
The bug is a classic copy without a size check, but the details explain who can reach it. During a PXE boot, a machine asks the network for its boot image. While it does so, the driver listens for ICMP error messages (the kind of message a router sends when a packet cannot be delivered). Each message is copied into a 504-byte buffer. The advisory says the copy loop is wrong in two ways: it does not stop at the buffer's end, and, as Ars paraphrases the advisory, it advances the destination pointer by the cumulative length rather than the length of each fragment. An oversized message therefore writes attacker-controlled bytes beyond the field.
The attacker's job is harder than the score suggests. The advisory's vector includes an "attack requirements" element, and Ars Technica quotes Jesse Michael of Eclypsium saying an attacker must guess specific memory addresses in the target, so the exploit has to be tuned for each model, version and configuration. HD Moore of Dragos told Ars the bug could be used at a point where the boot process "still has access to sensitive components, like the endpoint's TPM", which could undermine disk encryption where an attacker has short-term network access.
What it means
For data-centre and infrastructure teams. The exposure is concentrated in fleets that provision or reinstall machines over the network: servers, storage appliances and network gear. Ars reports that PXE functionality is on by default, so the first step is an inventory of machines where it is actually used. Ars Technica also notes that home and small-office users who boot only from disk are not affected.
For firmware vendors. The fix is public, which, in Ars's words, makes it trivial for skilled attackers to work out how the flaw is triggered. Every vendor that ships EDK II-derived firmware now has to decide whether to backport the change, and then OEMs have to push updates through systems that are often rarely patched. Michael of Eclypsium sees one positive: unlike Secure Boot bypasses such as BootHole or Baton Drop, this bug needs only a code fix and a firmware update, with no revocation lists or key-database changes.
For attackers and defenders. Ars concludes the likely users are insiders, or intruders such as ransomware operators who already have a foothold on the local network, rather than remote attackers starting from the internet. Nothing in the sources we read reports exploitation in the wild, and a third-party tracker lists the bug as not on CISA's Known Exploited Vulnerabilities list. Moore expects it to live on in unsupported hardware as a "forever" bug, in Ars's report.
The disclosure process. A bug in shared firmware code is a difficult one to coordinate, because many vendors need time and the fix, once public, is the roadmap for attackers. The sequence here, in which a vendor's public pull request preceded the planned disclosure, is the kind of leak that coordinated disclosure is meant to prevent.
What we don't know yet
- Which products are affected. We found no vendor bulletin from AMI, Insyde, Phoenix, Microsoft or a server maker, and no list of affected firmware versions beyond the two descriptions of EDK II versions above, which differ.
- When a tagged EDK II release will include the fix. The fix is on master as of 15 October; the advisory said "Not patched currently" at the time we read it, and the pull request page mentioned no release tag.
- Whether anyone is exploiting it. None of our sources reports exploitation, and the NVD analysis was listed as deferred by a tracker.
- Whether the score will change. One aggregator we saw lists a lower score (8.8) than the CNA's 9.5; we use the CNA's figure, from the advisory, and have not checked the aggregator's basis.
- Whether other products using the same code are exposed. Ars reports that Project Mu used the vulnerable component; we have not seen a statement from Microsoft.
What to watch next
Watch the advisory GHSA-99cj-7hg9-mp4m for a patched-version entry, the next EDK II stable tag, and bulletins from AMI, Insyde, Phoenix and your own server vendor. The NVD analysis, still pending in the tracker we read, may revise the score. If a public exploit appears, the risk for flat provisioning networks rises sharply.
Sources
- GitHub advisory GHSA-99cj-7hg9-mp4m, "Pre-boot RCE in EDK II PXE driver" (TianoCore EDK II)
- tianocore/edk2 pull request #13302: ICMP buffer overflow fix
- Ars Technica: Code-execution flaw in UEFI firmware threatens most servers on planet Earth
- strix.ai: CVE-2026-97631 record summary (third-party tracker)
Written by
The official account of the people who run audiotale.net: announcements, conversation starters and the newsroom's drafts. Posts written with AI say so. Every other account here is a real person.
Read next
BlackX UEFI bootkit abuses Baton Drop CVE-2022-21894 on patched Windows: how to revoke PCA 2011
Kaspersky found a bootkit that beat Secure Boot on fully patched Windows PCs because the fix, a revocation of the PCA 2011 certificate, is not enabled by default.
audiotale.net team8 min read
Tailscale SSH 'Tailworm' flaws: 11 unpatched findings, root via forwarding, workaround
Cyberdione Labs published 11 findings against Tailscale 1.104.2 and headscale 0.29.5; Tailscale calls them serious, has no fixed version yet, and offers a forwarding workaround.
audiotale.net team6 min read
KB5134133: Windows 11 update removes 7 eMudhra certificates, manual download only
Microsoft's 26 October out-of-band update strips six eMudhra roots and one cross-sign from Windows' trust list; it is for PCs that can't get certificate updates automatically.
audiotale.net team7 min read