A Comprehensive Memory Safety Analysis of Bootloaders

The bootloader plays an important role during the boot process, as it connects two crucial components: the firmware and the operating system.After powering on, the bootloader takes control from the firmware, prepares the early boot environment, and then hands control over to the operating system.Modern computers often use a feature called secure boot to prevent malicious software from loading at startup.As a key part of the secure boot chain, the bootloader is responsible for verifying the operating system, loading its image into memory, and launching it.Therefore, the bootloader must be designed and implemented in a secure manner.However, bootloaders have increasingly provided more features and functionalities for end users.As the code base grows, bootloaders inevitably expose more attack surfaces.In recent years, vulnerabilities, particularly memory safety violations, have been discovered in various bootloaders.Some of these vulnerabilities can lead to denial of service or even bypass secure boot protections.Despite the bootloader's critical role in the secure boot chain, a comprehensive memory safety analysis of bootloaders has yet to be conducted.In this paper, we present the first comprehensive and systematic memory safety analysis of bootloaders, based on a survey of previous bootloader vulnerabilities.We examine the potential attack surfaces of various bootloaders and how these surfaces lead to vulnerabilities.We observe that malicious input from peripherals such as storage devices and networks is a primary method attackers use to exploit bootloader vulnerabilities.To assist bootloader developers in detecting vulnerabilities at scale, we designed and implemented a bootloader fuzzing framework based on our analysis.In our experiments, we discovered 39 vulnerabilities in nine bootloaders, of which 38 are new vulnerabilities.In particular, 14 vulnerabilities were found in the widely used Linux standard bootloader GRUB, some of which can even lead to secure boot bypass if properly exploited.So far, five CVEs have been assigned to our findings. To detect bootloader vulnerabilities on a larger scale, we developed and implemented a bootloader fuzzing framework.Using this framework, we analyzed nine bootloaders and found 38 novel vulnerabilities, 29 of which were confirmed or patched by the developers.To foster research in this area, we open-source our framework prototype at https://github.com/wjqsec/bootloader.

Authors

Publication Details

Published
2025-01-01
DOI
https://doi.org/10.14722/ndss.2025.240330
Primary Topic
Security and Verification in Computing
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A Comprehensive Memory Safety Analysis of Bootloaders

Thorsten Holz, Meng Wang, Jianqiang Wang, Qinying Wang et al.
Security and Verification in Computing
article

A Comprehensive Memory Safety Analysis of Bootloaders

Thorsten Holz, Meng Wang, Jianqiang Wang, Qinying Wang, Nils Langius, Li Shi, Ali Abbasi
article en

Abstract

The bootloader plays an important role during the boot process, as it connects two crucial components: the firmware and the operating system.After powering on, the bootloader takes control from the firmware, prepares the early boot environment, and then hands control over to the operating system.Modern computers often use a feature called secure boot to prevent malicious software from loading at startup.As a key part of the secure boot chain, the bootloader is responsible for verifying the operating system, loading its image into memory, and launching it.Therefore, the bootloader must be designed and implemented in a secure manner.However, bootloaders have increasingly provided more features and functionalities for end users.As the code base grows, bootloaders inevitably expose more attack surfaces.In recent years, vulnerabilities, particularly memory safety violations, have been discovered in various bootloaders.Some of these vulnerabilities can lead to denial of service or even bypass secure boot protections.Despite the bootloader's critical role in the secure boot chain, a comprehensive memory safety analysis of bootloaders has yet to be conducted.In this paper, we present the first comprehensive and systematic memory safety analysis of bootloaders, based on a survey of previous bootloader vulnerabilities.We examine the potential attack surfaces of various bootloaders and how these surfaces lead to vulnerabilities.We observe that malicious input from peripherals such as storage devices and networks is a primary method attackers use to exploit bootloader vulnerabilities.To assist bootloader developers in detecting vulnerabilities at scale, we designed and implemented a bootloader fuzzing framework based on our analysis.In our experiments, we discovered 39 vulnerabilities in nine bootloaders, of which 38 are new vulnerabilities.In particular, 14 vulnerabilities were found in the widely used Linux standard bootloader GRUB, some of which can even lead to secure boot bypass if properly exploited.So far, five CVEs have been assigned to our findings. To detect bootloader vulnerabilities on a larger scale, we developed and implemented a bootloader fuzzing framework.Using this framework, we analyzed nine bootloaders and found 38 novel vulnerabilities, 29 of which were confirmed or patched by the developers.To foster research in this area, we open-source our framework prototype at https://github.com/wjqsec/bootloader.

Affordable and clean energy
Openalex Percentile: Top 98%
Security and Verification in Computing
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.