TianoCore says a PXE flaw in EDK II code dating to 2010 can run code before Secure Boot; no stable fix
TianoCore's advisory of 22 October 2026 says an overflow in the EDK II PXE driver, CVE-2026-97631, lets an unauthenticated sender run code before Secure Boot checks anything. The same copy loop is in the first NetworkPkg commit of 1 November 2010, and no stable EDK II tag contains the fix.
By Parminder Kumar Sharma · · 20 min read
5,834 days from the first commit to the advisory, and what that does not prove
5,834 days (derived) separate the commit that first put the EDK II network package into the project's git history, on 1 November 2010, from the TianoCore security advisory of 22 October 2026. That is 15 years and 11 months (derived), which headlines have rounded up to 16. The advisory, GHSA-99cj-7hg9-mp4m, says a buffer overflow in the PXE Base Code driver, tracked as CVE-2026-97631, lets an unauthenticated sender corrupt memory while a machine is network booting. In the worst case it lets them run code in the firmware before Secure Boot or measured boot has verified or measured any operating system component.
The date does not establish three things. It dates the oldest copy of the copy loop that the fix replaces. It does not show that the flaw was reachable and exploitable in every release since: the advisory itself lists the affected version as "EDK II master as of 2026-09-14". It does not show that anyone has used the flaw: no source read for this briefing reports exploitation, and the CISA Known Exploited Vulnerabilities catalogue of 27 October 2026 (the latest read) does not list it. And it does not say how many servers are exposed, because no firmware vendor advisory read here names an affected product or a fixed firmware build.
This briefing reads TianoCore's advisory, the CVE record, the pull requests and commits in the public edk2 repository, the NVD record, the Debian, Ubuntu, SUSE and Red Hat pages, Microsoft's Project Mu backports, AMI's advisory index and Quarkslab's 2024 write up of earlier flaws in the same package. All were read between 18:40 and 18:58 UTC on Wednesday 28 October 2026. Security Affairs and a mailing list post were also read and are labelled secondary. Two press articles on the story, from The Hacker News and Ars Technica, were not read for this briefing. The finders are credited in the advisory as working at Anthropic and at Google. Anthropic sells AI models and Google sells cloud and AI products, and both gain when they are seen to find flaws; the advisory does not say how the flaw was found, and the CVE record's discovery field reads UNKNOWN.
This is a different problem from the bootkit covered in the earlier BlackX briefing, which concerns malware that gets around Secure Boot. Here no malware is reported. The question is what a firmware network driver does with a packet it should have rejected, and how long a fleet will take to hear that it is fixed.
Stated and not stated: the record, line by line
The table sets what the TianoCore advisory and the CVE record state against what neither states. "Not stated" means not found in the advisory, the CVE record or the pull requests, read in full. It does not mean the information does not exist.
What the TianoCore advisory GHSA-99cj-7hg9-mp4m (published 22 October 2026) and the CVE record state, and what they do not. Read 28 October 2026.
| The question | Stated | Not stated |
|---|---|---|
| Which component? | The PXE Base Code driver, NetworkPkg/UefiPxeBcDxe. The handlers named are PxeBcIcmpErrorDpcHandle (IPv4) and PxeBcIcmp6ErrorDpcHandle (IPv6). The destination is a fixed 504 byte field, Mode.IcmpError. | Whether the HTTP boot driver, DHCP or TFTP code is affected. The advisory names only the two ICMP error handlers. The CVE text says only "BIOS". |
| Which versions? | Advisory: "EDK II master as of 2026-09-14", patched versions "Not patched currently". CVE record: affected from 0 up to edk2-stable202608, version type custom. | How the two ranges fit together, which older tags are affected, and which vendor firmware builds carry the driver. |
| Who can send it? | An unauthenticated attacker who can deliver a unicast ICMP error message addressed to the client's IP, "from any network distance", during the PXE boot. The exposure window is the duration of the PXE boot. | Whether routers and firewalls in real deployments let such a packet through, and how long a typical window is. |
| What happens? | Memory corruption in the DXE phase. Case (a): a CPU exception and a hung boot. Case (b): an attacker who knows the target firmware build can have attacker supplied bytes dispatched through CoreSignalEvent() at ring 0. | A public exploit, a success rate, which builds are practical targets, or whether code run this way persists. |
| How severe? | CVSS v4.0 base 9.5, Critical, vector AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H, assigned by TianoCore as the CNA. CWE-120, CWE-131 and CWE-787. | Any vendor firmware score. The NVD status is Deferred, so NVD has not analysed it. |
| Is there a fix? | Pull request 13302 merged to master on 15 October 2026 at 00:09 UTC, as commits 14cdbb86, 560ed9b5 and fa789071. | A stable EDK II release that contains it, or a fixed firmware release from any hardware vendor in the sources read. |
| Is it exploited? | Nothing. | Any report of use in the wild. The CISA KEV catalogue of 27 October does not list it. |
| What should I do? | Nothing in the advisory text read: no mitigation, workaround or detection rule is printed. | Whether turning off PXE, filtering ICMP or segmenting the boot network is sufficient. |
How the bug works, and why "before Secure Boot" is literal
A network boot has a fixed order, described in Quarkslab's 2024 write up of earlier flaws in the same package. The client gets an address from DHCP, learns of a boot server, downloads a network boot program over TFTP, and that program is, in Quarkslab's words, "downloaded, verified (in the case of Secure Boot), and executed". So the firmware's own IP stack is running and receiving packets for the whole time before any verification of what it downloads begins. Quarkslab adds that network boot is popular in data centres and high performance computing, where one image is pushed to hundreds or thousands of nodes.
The advisory's account of the bug is short. During a network boot the PXE Base Code driver keeps a receive request open for ICMP error messages and copies each one into the 504 byte field Mode.IcmpError. The advisory says the bounds handling is wrong in both handlers: for a message longer than 504 bytes the code still copies bytes into the field, and it advances the destination pointer by the cumulative length instead of the length of each fragment, so an oversized message writes attacker controlled bytes past the field. It also says nothing earlier on the receive path restricts the message length.
Read plainly, this is the friendly name problem in its purest form. "Secure Boot" sounds like a gate in front of everything that runs at start up. It is a check on the images the firmware is asked to load. A flaw in the firmware's own network driver is not an image anyone asked it to verify, so the check never comes into play (inference from the advisory's wording, not a statement in it). The advisory's phrase "before Secure Boot or measured boot has verified or measured any OS component" also bears on the TPM: a log that records only operating system components would not show what ran before them (inference).
The fix is small and it is public. It zeroes the 504 byte field, limits each fragment copy to the space left, stops once the field is full and moves the destination by each fragment's own length, in both handlers. The figure shows the change, and the full text of the IPv4 hunk is in the Technical details section.
Who can send the packet: the sources give different answers
The advisory says the attacker needs only to deliver a unicast ICMP error message to the client's IP "from any network distance". Its CVSS v4 vector says the attack vector is Network, and attack requirements are Present, which the advisory's own glossary describes as prerequisite deployment and execution conditions of the vulnerable system. Red Hat and SUSE, scoring for their own products under CVSS v3.1, chose Adjacent Network and 8.8. A secondary report, from Security Affairs, says the attacker needs some control over the local network and that there is no evidence the flaw gives initial access from outside.
How each source places the attacker. Scores belong to whoever assigned them. Read 28 October 2026; Security Affairs is secondary.
| Source | Attacker position | Score or rating |
|---|---|---|
| TianoCore advisory and CVE record | Any network distance, a unicast ICMP error to the client's IP during PXE boot | CVSS v4.0 9.5 Critical, AV:N, AT:P |
| Red Hat (own score) | Adjacent Network, AV:A | CVSS v3.1 8.8, vector CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| SUSE (own score) | Adjacent Network, AV:A. Status Pending, rated important | CVSS v3.1 8.8, the same vector |
| Ubuntu (Canonical) | Shows the TianoCore v4 score, with its own priority | Ubuntu priority Medium |
| Debian tracker | Trixie marked no DSA, minor issue, with the package listed as vulnerable | No score on the page |
| Security Affairs (secondary) | Needs some control of the local network, an insider or a foothold | Repeats 9.5 |
Both framings can be right for different networks. Adjacent fits a dedicated provisioning VLAN where the only reachable senders are on the same segment. "Any network distance" fits a client that accepts an ICMP error from a routed path. Which applies to a given site depends on what its routers and firewalls pass to booting clients, and no source read states that (inference). The practical point: the decision to treat this as a local problem or a routed one is the defender's, and it is made by looking at the boot network, not by reading the score.
Why 16 years: the loop is in the first commit, and the version ranges disagree
The repository shows where the age comes from. The NetworkPkg directory was added to the edk2 repository in commit a3bcde70e6 on 1 November 2010, with the message "Add NetworkPkg (P.UDK2010.UP3.Network.P1)", adding 142 files and 83,988 lines. The file NetworkPkg/UefiPxeBcDxe/PxeBcSupport.c at that commit already holds the running total and the pointer that advances by it, in both the IPv4 and the IPv6 handler. The same lines are in the file at the tags edk2-stable202211 and edk2-stable202608, and not in the file at the fix commit fa789071. The intermediate revisions of the file were not read one by one. The interval from 1 November 2010 to 22 October 2026 is 5,834 days, 15 years and 11 months (derived). Because the git history starts with that import, the code is at least that old; any earlier history is not in the repository.
The advisory and the CVE record do not describe that history. The advisory lists "EDK II master as of 2026-09-14" as affected. The CVE record, assigned by TianoCore, lists the package as affected from version 0 up to edk2-stable202608. Debian's tracker, a third reading, marks its edk2 packages 2022.11, 2025.02 and 2026.08 as vulnerable. The files read agree with Debian and with the CVE record, not with the narrower advisory line. The date in the advisory is probably the date of the code the finders worked from (inference). It should not be read as the date the flaw began.
Age is also not a measure of risk. A bug can sit in code for years because nothing was sending the packet that reaches it. What the age does show is that the code is shared: Quarkslab's 2024 list of vendors using this package named Arm, Insyde Software, American Megatrends (AMI), Phoenix Technologies and Microsoft's Project Mu. That list was written for the earlier PixieFail flaws. Whether each of those vendors ships this particular driver, in which firmware, is not stated in any 2026 vendor advisory read.
Fixed in the source is not fixed in your firmware
The word "patched" covers six different states. The advisory says "Not patched currently", while the fix has been in the master branch since 15 October. Both are true: they describe different stages. The table sets the stages against what the record shows. The last stage is the only one that matters to the person running the machine, and it is the one no public source can show.
Six stages of a fix, with the evidence read on 28 October 2026. Intervals and counts are derived.
| Stage | Evidence in the record | When |
|---|---|---|
| 1. In the TianoCore source tree | Pull request 13302 merged to master, commits 14cdbb86 (tests), 560ed9b5 (fix) and fa789071 (zeroing) | 15 October 2026, 00:09 UTC |
| 2. In a downstream project's release branch | Project Mu merged backports to release/202608 (pull request 1989) and release/202511 (pull request 1990) | 22 October 18:58 UTC; 23 October 01:19 UTC |
| 3. In a stable EDK II release tag | None. The latest tag, edk2-stable202608, is 429 commits behind the merged fix (derived) | Not yet |
| 4. In a distribution package | None read. Debian lists unstable as unfixed with bug 1151853. Ubuntu lists edk2 as Needs evaluation on the releases shown. SUSE state Pending | Not yet |
| 5. In a hardware vendor's firmware | None read. AMI's advisory index, read 28 October, has no entry for CVE-2026-97631 | Not stated |
| 6. On your machines | Only your own inventory can show this | Unknown to any public source |
Two secondary claims need care. Security Affairs reports that the researchers planned to disclose in January, that AMI published a fix last month, and that Intel and Arm say their own products are not directly affected. None of those three was found in a primary source here. AMI's index lists advisories dated 8 September and 13 October 2026 for other CVEs, and none for this one. One fact fits the AMI part without proving it: the first fix commit, and the Project Mu cherry pick of it, carry a signed off line using an AMI mail domain, which suggests an AMI contributor wrote or reviewed the change and does not show an AMI firmware release.
Because a fix was public before the advisory, the window matters. The pull request record shows the first fix opened in the public repository on 28 September 2026, with the CVE id in its title and a description that states the overflow. That is 24 days (derived) before the advisory of 22 October, and the merge to master on 15 October is 7 days (derived) before it. Security Affairs says this revealed details months early. The record read here shows the dates, not whether anyone acted on them. Anyone reading the public repository could see the change, so the safe assumption for a defender is that the flaw was understood outside the finders' circle by early October (inference).
Vendor and distribution pages read on 28 October 2026.
| Source | What it says | Page date |
|---|---|---|
| Debian security tracker | Source package edk2: bookworm 2022.11, trixie 2025.02 and forky and sid 2026.08 listed vulnerable. Unstable (unfixed). Trixie noted no DSA, minor issue | Read 28 Oct |
| Ubuntu | Priority Medium. Status Needs evaluation for edk2 on 26.10, 26.04, 24.04, 22.04, 20.04, 18.04 and 16.04; edk2-hwe the same on 26.10 and 26.04, not in release on 24.04 and 22.04 | Published 27 Oct, updated 28 Oct |
| SUSE | Overall state Pending, rated important, CVSS v3.1 8.8 adjacent, Bugzilla 1288045, no security announcements yet | Read 28 Oct |
| Red Hat | Bugzilla 2559129, CVSS v3.1 8.8 adjacent. Per product status was not shown in the page text read | Read 28 Oct |
| Project Mu (Microsoft) | Backports merged into release/202608 and release/202511 | 22 and 23 Oct |
| NVD | Record published 22 October 2026, status Deferred, one secondary CVSS v4 score from the edk2 security address | Modified 28 Oct |
Who found it, and what each party gains
The advisory credits two finders, "for finding this issue and providing the recommended fix": one credited as Anthropic and one as Google. The CVE record repeats the credits as finders. Anthropic sells AI models and Google sells cloud and AI products, and both have a commercial interest in being seen to find security flaws; the advisory and the CVE record do not say whether tools, models or manual work were used, and the record's discovery field reads UNKNOWN. Nothing in the record supports a claim that a model found the bug, and none is made here.
The CVSS score of 9.5 is TianoCore's own, assigned as the CNA for a project made up of developers from software vendors that also use it (Quarkslab's description). Red Hat and SUSE scored 8.8 for their own products; Red Hat's page says its score reflects how the flaw affects its products and can differ from other vendors. A defender should read the lower number as a signal about the attacker's position, not about how much to care.
The friendly name fallacy: Secure Boot, patched and critical
Three labels in this story do the work of a control without being one. "Secure Boot" is a check on loaded images, not on the firmware that loads them. "Patched" is a stage, and the advisory's own "Not patched currently" sits beside a merged fix. "Critical 9.5" is a score for the worst case in the advisory's wording, which needs the target firmware build, while the other effect the advisory lists, a hung boot, is described as deterministic. A team that reads "Secure Boot enabled" in an audit report, "fix merged" in a repository and "critical" in a feed has three comforting or alarming facts and no answer to the question that matters: which of its machines accept this packet while booting.
Technical details
The TianoCore advisory prints no indicators of compromise, no detection rule and no mitigation setting, so this section holds the artifacts it does print: the identifiers, the affected range as the CVE record states it, the vendor scores, the commit hashes and the maintainers' fix. Each block names the source and the date read. Nothing here is a working exploit.
Identifiers and scoring. This is the summary from the TianoCore advisory. A defender uses it to match scanner output, inventory entries and vendor tickets to the right record.
Pre-boot RCE in EDK II PXE driver
GHSA-99cj-7hg9-mp4m
CVE ID: CVE-2026-97631
Published: Oct 22, 2026
Package: NetworkPkg (EDK2)
Affected versions: EDK II master as of 2026-09-14
Patched versions: Not patched currently
Patch: #13302
Severity: Critical, 9.5
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
CWE-120 Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
CWE-131 Incorrect Calculation of Buffer Size
CWE-787 Out-of-bounds Write
The CVE record's affected range. This is an excerpt of the CVE record (JSON 5.2), reformatted. It differs from the advisory line above, as the Why 16 years section explains.
{
"cveId": "CVE-2026-97631",
"assignerShortName": "TianoCore",
"dateReserved": "2026-09-24T16:56:45.359Z",
"datePublished": "2026-10-22T16:32:27.619Z"
}
[
{
"vendor": "TianoCore",
"product": "EDK2",
"packageName": "NetworkPkg",
"versions": [
{
"status": "affected",
"version": "0",
"lessThanOrEqual": "edk2-stable202608",
"versionType": "custom"
}
],
"defaultStatus": "unaffected"
}
]
Distribution and vendor scores. The v3.1 vector is the one Red Hat and SUSE print for their own products.
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H base score 8.8 (Red Hat, SUSE)
Commit hashes and where to look. The Debian tracker and Ubuntu both list these three upstream commits. A firmware team that carries a fork of NetworkPkg checks whether its tree has the fix by looking for these commits or for their cherry picks. Project Mu's backports record the fix commit as the cherry picked source.
14cdbb86a1a4f9bcce0d6cb78b04af58f226cf48 NetworkPkg: Add PXE ICMP fragment-copy tests
560ed9b5b146ed622d7eb7c40254a9099bd65b84 NetworkPkg/UefiPxeBcDxe: Fix ICMP buffer overflow in IPv4/IPv6 handlers (CVE-2026-97631)
fa789071ff0b29f1e568bfe153ef7f3d76bd60e4 NetworkPkg/UefiPxeBcDxe: Clear ICMP error buffer before copying
Project Mu backport trailer (pull requests 1989 and 1990):
(cherry picked from commit 560ed9b5b146ed622d7eb7c40254a9099bd65b84)
The maintainers' fix, IPv4 handler. This is the diff of NetworkPkg/UefiPxeBcDxe/PxeBcSupport.c from pull request 13302, as the GitHub API prints it. Lines starting with a minus are the removed copy loop, and lines starting with a plus are the replacement. The IPv6 handler, PxeBcIcmp6ErrorDpcHandle, has the same change with the names Icmp6Error in place of IcmpError. It is the pattern a firmware engineer greps a fork for.
@@ -252,6 +252,7 @@ PxeBcIcmpErrorDpcHandle (
UINTN Index;
UINT32 CopiedLen;
UINT8 *IcmpError;
+ UINT32 FragmentLen;
Private = (PXEBC_PRIVATE_DATA *)Context;
Mode = &Private->Mode;
@@ -317,28 +318,20 @@ PxeBcIcmpErrorDpcHandle (
}
//
- // Copy the right ICMP error message into mode data.
+ // Copy ICMP error fragments into Mode->IcmpError in order. The maximum
+ // buffer size is sizeof (EFI_PXE_BASE_CODE_ICMP_ERROR); truncate any excess.
//
- CopiedLen = 0;
- IcmpError = (UINT8 *)&Mode->IcmpError;
-
- for (Index = 0; Index < RxData->FragmentCount; Index++) {
- CopiedLen += RxData->FragmentTable[Index].FragmentLength;
- if (CopiedLen <= sizeof (EFI_PXE_BASE_CODE_ICMP_ERROR)) {
- CopyMem (
- IcmpError,
- RxData->FragmentTable[Index].FragmentBuffer,
- RxData->FragmentTable[Index].FragmentLength
- );
- } else {
- CopyMem (
- IcmpError,
- RxData->FragmentTable[Index].FragmentBuffer,
- CopiedLen - sizeof (EFI_PXE_BASE_CODE_ICMP_ERROR)
- );
- }
-
- IcmpError += CopiedLen;
+ ZeroMem (&Mode->IcmpError, sizeof (EFI_PXE_BASE_CODE_ICMP_ERROR));
+ for (Index = 0, IcmpError = (UINT8 *)&Mode->IcmpError, CopiedLen = 0;
+ (Index < RxData->FragmentCount) &&
+ (CopiedLen < sizeof (EFI_PXE_BASE_CODE_ICMP_ERROR));
+ Index++, IcmpError += FragmentLen, CopiedLen += FragmentLen)
+ {
+ FragmentLen = MIN (
+ RxData->FragmentTable[Index].FragmentLength,
+ (UINT32)(sizeof (EFI_PXE_BASE_CODE_ICMP_ERROR) - CopiedLen)
+ );
+ CopyMem (IcmpError, RxData->FragmentTable[Index].FragmentBuffer, FragmentLen);
}
ON_RECYCLE:
Checking a tree, derived. These two commands are this briefing's suggestion for a team that holds its own firmware source, not text from the advisory. The first checks for the upstream fix commit and fails on a tree that cherry picked it, so the second looks for the old pattern and for the zeroing line. Run them only against source you own.
git merge-base --is-ancestor fa789071ff0b29f1e568bfe153ef7f3d76bd60e4 HEAD && echo "upstream fix present"
grep -nE "(Icmp|Icmp6)Error \+= CopiedLen" NetworkPkg/UefiPxeBcDxe/PxeBcSupport.c
grep -n "ZeroMem (&Mode->IcmpError" NetworkPkg/UefiPxeBcDxe/PxeBcSupport.c
Not printed anywhere read: network indicators, packet captures, a detection signature, a firmware build list, or a setting that turns the behaviour off. The advisory's impact text is the only guide to what a failure looks like: a boot that hangs on the next ICMP error. A provisioning server that sees clients stall at the PXE stage is the nearest observable (inference).
Ordered checklist for defenders
Take this with you
In the order worth doing
- List every machine that can network boot with PXE over IPv4 or IPv6: servers, storage systems, lab and imaging systems, and virtual machines that use the OVMF firmware. The flaw is reachable only while a machine is PXE booting.
- Ask each system and firmware supplier in writing: does your firmware include the EDK II PXE Base Code driver, in which build, and on what date will a fixed build ship for CVE-2026-97631. Keep the reply with the asset record.
- Where network boot is not needed in production, turn it off in the firmware settings and boot from local storage. The advisory prints no mitigation; this follows the secondary advice reported by Security Affairs and is the largest reduction available.
- Where it is needed, keep the boot network small: a dedicated provisioning segment, no routed path from other segments to booting clients, and booting limited to planned windows. This shortens the window the advisory describes.
- Test before filtering ICMP error messages toward booting clients from outside the provisioning segment. It addresses the routed reading of the advisory. It can also break path discovery, so trial it on one segment first (derived, not from the advisory).
- Watch provisioning for stalled boots and clients that hang at the PXE stage and recover only after a power cycle. The advisory describes the hung boot as deterministic (derived reading).
- Do not treat Secure Boot or a TPM attestation as covering this flaw. The advisory says the code runs before they check any operating system component. Keep them, and add the controls above.
- Track the fix by stage, not by the word patched: stable release, distribution package, vendor firmware, then your flash. Check TianoCore's advisory, the vendor pages and NVD (currently Deferred) each week, and record the date a build is actually flashed.
- Prepare the update path for firmware flashes now: maintenance windows, rollback, and a way to confirm the running firmware version from outside the machine.
The exposing question
The fix is public and has been since 15 October, and the advisory says "Not patched currently". Between those two statements sits every server your organisation boots over the network. So which of your machines will accept an ICMP error message while PXE booting, and who has told you in writing which firmware build fixes it?
Key facts
Sources
- PrimaryTianoCore advisory GHSA-99cj-7hg9-mp4m, Pre-boot RCE in EDK II PXE driver, published 22 October 2026: the component, the 504 byte field, the attacker position, impact (a) and (b), affected and patched versions, CVSS v4 9.5, credits. Read in fullTianoCore (edk2)accessed 2026-10-28
- PrimaryCVE record CVE-2026-97631 (JSON): reserved 24 September 2026, published 22 October 2026, affected range 0 to edk2-stable202608, CVSS v4 9.5, credits, discovery UNKNOWNCVE Program, assigned by TianoCoreaccessed 2026-10-28
- PrimaryPull request 13302, the merged fix: description, review, merge at 00:09 UTC on 15 October 2026, the three commitsTianoCore (edk2)accessed 2026-10-28
- PrimaryPull request 13200, the first public fix attempt opened 28 September 2026 with the CVE id in its title, closed 14 October in favour of 13302TianoCore (edk2)accessed 2026-10-28
- PrimaryThe fix commit for PxeBcSupport.c, author date 28 September 2026TianoCore (edk2)accessed 2026-10-28
- PrimaryThe zeroing commit, the final commit of the merged pull requestTianoCore (edk2)accessed 2026-10-28
- PrimaryThe 1 November 2010 commit that added NetworkPkg to the edk2 repository (142 files); the file at this commit holds the same copy loop in both handlersTianoCore (edk2)accessed 2026-10-28
- PrimaryNVD record for CVE-2026-97631, read as JSON from the NVD API: status Deferred, one secondary CVSS v4 score from the edk2 security address, published 22 October 2026NIST National Vulnerability Databaseaccessed 2026-10-28
- PrimaryDebian tracker: edk2 2022.11, 2025.02 and 2026.08 listed vulnerable, unstable unfixed, bug 1151853, the three upstream fix commitsDebian Security Trackeraccessed 2026-10-28
- PrimaryUbuntu CVE page published 27 October 2026: priority Medium, Needs evaluation for edk2 on the releases shown, the three fix commitsCanonical (Ubuntu)accessed 2026-10-28
- PrimarySUSE CVE page: state Pending, rated important, CVSS v3.1 8.8 adjacent, Bugzilla 1288045SUSEaccessed 2026-10-28
- PrimaryRed Hat CVE page: Bugzilla 2559129, CVSS v3.1 8.8 with vector AV:A. Per product status was not shown in the page text readRed Hataccessed 2026-10-28
- PrimaryProject Mu backport of the fix into release/202608, merged 22 October 2026Microsoft Project Muaccessed 2026-10-28
- PrimaryProject Mu backport of the fix into release/202511, merged 23 October 2026Microsoft Project Muaccessed 2026-10-28
- PrimaryAMI security advisories index, read 28 October 2026: lists advisories published 8 September and 13 October 2026 for other CVEs and none for CVE-2026-97631AMIaccessed 2026-10-28
- PrimaryCISA Known Exploited Vulnerabilities catalogue, version 2026.10.27 released 27 October 2026 at 19:00 UTC: no entry for CVE-2026-97631CISAaccessed 2026-10-28
- PrimaryQuarkslab, 16 January 2024, PixieFail: how PXE network boot works in EDK II, why the firmware IP stack is exposed before verification, and the vendors using NetworkPkg. Background to earlier flaws in the same packageQuarkslabaccessed 2026-10-28
- Reported bySecurity Affairs, 28 October 2026: secondary report with claims about a January disclosure plan, an AMI fix and Intel and Arm statements that were not found in any primary source readSecurity Affairsaccessed 2026-10-28
- Reported byPost of 28 October 2026 copying the advisory and noting that Debian's tracker lists OVMF as vulnerable with no fixes on any release yet. Secondaryoss-security mailing listaccessed 2026-10-28


