Vulnerability

TianoCore EDK II PXE Pre-Boot RCE (CVE-2026-97631)

A buffer overflow in the PXE driver of TianoCore EDK II, the open source base of much UEFI firmware.

CVE ID
CVE-2026-97631
CVSS
9.5 Critical (CVSS v4.0, TianoCore); Red Hat scores it 8.8 (CVSS 3.1)
Affected product
EDK II, NetworkPkg PXE Base Code driver (UefiPxeBcDxe), up to edk2-stable202608
Exploited
Unknown
Published
22 October 2026 (TianoCore advisory GHSA-99cj-7hg9-mp4m and CVE record)

In short

CVE-2026-97631 is a buffer overflow in the PXE driver of TianoCore EDK II, the open source base of much UEFI firmware. A network attacker can send an oversized ICMP error message to a machine that is network booting and corrupt memory before the operating system loads. TianoCore rates it Critical, CVSS v4.0 9.5.

Profile MapVulnerability
  1. CVECVE-2026-97631
  2. ProductTianoCore EDK II, NetworkPkg PXE Base Code driver (UefiPxeBcDxe), up to edk2-stable202608
  3. Fix Steps5actions listedAsk your firmware vendor · Isolate provisioning networks

What it allows

TianoCore describes CVE-2026-97631 as a "Pre-boot RCE in EDK II PXE driver". It rates the flaw Critical, with a CVSS v4.0 score of 9.5. The vector is AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H. Red Hat scores it 8.8 under CVSS 3.1.

The CVE record lists CWE-120, CWE-131 and CWE-787. The advisory credits Alex Matrosov and Dan Holmes-Mitra for finding the flaw.

How the Bug Works

During a network boot, the PXE Base Code driver (NetworkPkg/UefiPxeBcDxe) keeps a receive request open for ICMP error messages. It copies each message into a fixed 504-byte field named Mode.IcmpError. The advisory says the bounds handling is wrong in both the IPv4 and the IPv6 handler.

A message longer than 504 bytes is still copied. The driver also moves the destination pointer by the cumulative length instead of the length of each fragment. An oversized message therefore writes attacker-controlled bytes past the end of the field.

What an Attacker Gets

TianoCore says the attacker is unauthenticated. The attacker only has to deliver a unicast ICMP error message addressed to the client's IP address, "from any network distance". The exposure window is the length of the PXE boot, over IPv4 or IPv6.

The advisory names two outcomes. The first is a CPU exception in the DXE core on the next ICMP error, so the boot hangs and OS provisioning or recovery fails.

The second applies to an attacker who knows the target firmware build. That attacker can plant a counterfeit event in the same packet, and CoreSignalEvent() then dispatches attacker-supplied bytes in the DXE phase. This is ring 0, before any OS security control exists.

Where Reports Differ

Ars Technica quotes Jesse Michael of Eclypsium, who says an exploit has to be tuned for each target model, version and configuration, because the memory addresses change between them. Ars also writes that a malicious insider or an attacker with low-level access to a local network can send the message. The advisory says "any network distance". Both agree that the message must arrive while the target is PXE booting.

What Our Checks Showed

Exploit signals
  • CISA KEVNot seenThe catalog release of 27 October 2026 does not list the flaw27 Oct
  • Exploitation described by TianoCoreUnknownThe advisory describes no exploitation22 Oct
  • Fix code publicYesPull request #13302 was merged on the master branch15 Oct
Verdict Not in CISA KEV; fix code is public

We are not saying this flaw is exploited. A public pull request, #13200, opened on 28 September, already carried the CVE id in its title and described the root cause. TianoCore closed it unmerged on 14 October.

Ars Technica writes that public patch code makes it easier for skilled attackers to learn how the bug is triggered. Our news post on the vendor patch status tracks who has a fix.

Who is affected

The CVE record lists TianoCore EDK2 (package NetworkPkg) from version 0 up to and including edk2-stable202608 as affected. The advisory names "EDK II master as of 2026-09-14" and gives the patched versions as "Not patched currently".

The advisory ties the exposure to a PXE boot, so a machine that never network boots does not open that window. This is our reading. Ars Technica reports that machines which boot only from disk are not affected and that the firmware must be built on EDK II.

The fix is pull request #13302, merged into the master branch on 15 October 2026. The newest stable tag, edk2-stable202608, is dated 21 August 2026, so no stable release contains the fix yet.

Distribution trackers list the edk2 and ovmf packages as affected. Red Hat lists RHEL 8, 9 and 10 with no erratum. Debian lists bookworm, trixie and forky with no fixed version. SUSE shows the state Pending.

OVMF is the EDK II based UEFI firmware for virtual machines. Firmware makers must build the fix into their own firmware and ship it as a BIOS or UEFI update.

Timeline

  1. 24 Sep 2026

    The CVE id is reserved by TianoCore, the CVE numbering authority for the record.

  2. 28 Sep 2026

    A public pull request, #13200, is opened in the EDK II repository with the CVE id in its title. TianoCore closes it unmerged on 14 October.

  3. 14 Oct 2026

    TianoCore maintainer pull request #13302 is opened with unit tests that fail before the change and pass after it.

  4. 15 Oct 2026

    Pull request #13302 is merged into the EDK II master branch. No stable release contains it yet.

  5. 22 Oct 2026

    TianoCore publishes advisory GHSA-99cj-7hg9-mp4m and the CVE record. Patched versions are listed as not patched currently.

  6. 28 Oct 2026

    The CISA Known Exploited Vulnerabilities catalog release of 27 October does not list the flaw. Red Hat, Debian and SUSE trackers list edk2 or ovmf as affected, with no fix.

What to do

  1. Ask your firmware vendor

    Ask the maker of your servers, boards and appliances whether the firmware is built on EDK II and when an update for CVE-2026-97631 ships.

  2. Turn off network boot where unused

    On machines that never PXE boot, disable PXE or the UEFI network stack in firmware setup. Ars Technica suggests turning off network boot at least temporarily.

  3. Isolate provisioning networks

    Keep PXE and provisioning networks apart from other networks. This is our advice, not a vendor workaround.

  4. Watch the logs

    During provisioning, look for unusual ICMP error traffic aimed at hosts that are PXE booting. Ars Technica advises monitoring logs for exploitation attempts.

  5. Plan the firmware update

    The fix needs a BIOS or UEFI update. Eclypsium told Ars Technica it needs no revocations or key updates. Secure Boot and TPM do not stop this flaw.

Questions

Does CVE-2026-97631 affect machines that boot from disk?

TianoCore ties the exposure window to the duration of a PXE boot. Ars Technica reports that machines which boot only from disk are not affected.

Is there a patch for CVE-2026-97631?

The fix is merged on the EDK II master branch since 15 October 2026. No stable release contains it, and Red Hat, Debian and SUSE list no fixed package as of 28 October.

Do Secure Boot and TPM stop it?

No. The advisory says the code runs before Secure Boot or measured boot has verified or measured any OS component. Ars Technica reports that those defenses do not protect against it.

Can the attacker be anywhere on the internet?

The advisory says the attacker can be at any network distance. Ars Technica writes that an insider or someone with low-level access to a local network can send the message. We show both.

Do I need to revoke keys or update the dbx?

Eclypsium's Jesse Michael told Ars Technica that this flaw needs a BIOS or UEFI update but no revocations or key database updates.

In our research

  1. EDK II PXE Vulnerability CVE-2026-97631: Patch Status by Vendor October 2026
  2. BlackX UEFI Bootkit Step by Step: Why Patched Windows Still Fell October 2026
  3. CVE-2024-8105: Critical UEFI Vulnerability September 2024

Sources

  1. Pre-boot RCE in EDK II PXE driver (GHSA-99cj-7hg9-mp4m) TianoCore
  2. Fix ICMP buffer overflow in IPv4/IPv6 handle (pull request 13302) TianoCore
  3. Pull request 13200 (closed unmerged) TianoCore
  4. CVE-2026-97631 record CVE Program
  5. CVE-2026-97631 Red Hat
  6. CVE-2026-97631 Debian Security Tracker
  7. CVE-2026-97631 SUSE
  8. Known Exploited Vulnerabilities catalog CISA