Why Secure Boot Is Reachable Over the Network

▶ Watch (01:57)

PCA 2011 is the default UEFI certificate authority on virtually every motherboard and virtualization platform. Microsoft cannot blacklist it due to compatibility constraints, and the UEFI DBX has a size limit that makes revocation impractical. PCA 2011 stays valid until 2026.

All of Yang’s findings are exploitable over PXE today because of this. PXE, the pre-boot execution environment used by diskless servers and enterprise imaging pipelines, puts these vulnerabilities within reach of any attacker on the adjacent network. No physical access required.

Scale of the Research: 155 Reports, 60% of a Decade

▶ Watch (06:47)

Yang submitted 155 reports to MSRC covering four attack surfaces: BCD registry processing (25 cases), file system parsing (16 cases), network protocol stacks (6 cases), and Windows kernel (5 cases). Thirty-five bugs came from code audit; 20 from fuzzing. His findings account for nearly 60% of all Windows Secure Boot CVEs in the past decade.

He walked through the PXE DHCPv6 stack overflow walkthrough (11:05) as the first case. No length check on the client-server identifier before copying into a 16-byte stack buffer; both IPv4 and IPv6 PXE bootloaders carried the bug because nobody had looked at that component before.

BCD Element Processing: Six Bugs in 100 Lines

▶ Watch (12:32)

The bootloader’s BCD parser contains a function whose name includes “sanitize.” Yang found six vulnerabilities in that 100-line function (14:28): two stack overflows overwriting the return address, one arbitrary write, and three heap out-of-bounds writes.

MSRC marked three of Yang’s reports as duplicates of CVE-2024-26117, but he ran his original proof-of-concept on the patched bootloader and triggered heap corruption. The engineering team had renamed the function and concluded everything was fixed. Yang’s takeaway: re-test every old case the moment a patch ships, especially inside a component with many open bugs.

File System Fuzzing in the Bootloader

▶ Watch (23:54)

Yang ran AFL++ in MIX mode against the bootloader’s file system parser, patching trampolines into the binary to redirect parsing functions to his fuzzing harness. The critical step is hot patching: each time the fuzzer finds a crash, patch that root cause before continuing. Without hot patching, the file system acts as a code-coverage amplifier and floods the fuzzer with thousands of crashes sharing one root cause.

Hyper-V snapshots cut reproduction time significantly. This approach found 16 file system vulnerabilities: 5 from code audit, 11 from fuzzing, in both WIM and NTFS parsers.

Beyond the Bootloader: Kernel and WIM Image Attacks

▶ Watch (27:50)

WIM images delivered over PXE contain configuration files the bootloader never validates. An attacker controlling a WDS server modifies them with DISM++ to enable non-default components with vulnerable settings. The WIM image DISM++ modification demo (29:54) requires no custom code: replace the setup executable inside the image, serve it, wait.

Bootloader and OS kernel teams each assume the other owns this surface. Yang found a kernel memory corruption reachable over PXE during early kernel initialization. Five of his findings are not backported to PCA 2011, so Windows systems before build 26100 remain vulnerable despite current OS patches.

Notable Quotes

all my findings was still exploitable by default right Jietao Yang · ▶ 3:14

nearly 60% of securable secure feature Jietao Yang · ▶ 4:53

paradise for those who love red fuzzy Bill from MSRC · ▶ 22:32

Key Takeaways

  • PCA 2011 cannot be blacklisted due to compatibility constraints, leaving most UEFI PCs vulnerable by default to all Yang’s findings.
  • Small sanitization and fix-up functions in the bootloader held six or more bugs each; fuzzing combined with hot patching finds them efficiently.
  • WIM image configuration files delivered over PXE expose Windows kernel initialization code to unauthenticated remote attackers.