CVE-2022-2601
Description
A heap buffer overflow in GRUB2's font parser (grub_font_construct_glyph) allows a crafted PF2 font to bypass Secure Boot.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A heap buffer overflow in GRUB2's font parser (grub_font_construct_glyph) allows a crafted PF2 font to bypass Secure Boot.
Vulnerability
A heap buffer overflow vulnerability exists in the grub_font_construct_glyph() function of the GRUB2 bootloader. A crafted PF2 font file can cause an integer overflow when calculating the max_glyph_size value, leading to allocation of a buffer smaller than required. This enables a heap-based out-of-bounds write. Affected versions include GRUB2 prior to the patches issued in December 2022 for Red Hat Enterprise Linux [2], and before version 2.06-r4 for Gentoo [3]. Microsoft also issued a related update in August 2024 targeting Secure Boot bypass [1].
Exploitation
An attacker with the ability to load a malicious PF2 font (e.g., via local access or by compromising the boot process) can trigger the overflow. No authentication is required if the attacker already controls the boot environment, and user interaction may involve booting a system configured to load the tainted font. The overflow occurs during glyph construction, where the heap buffer write exceeds the allocated size.
Impact
Successful exploitation results in a heap-based out-of-bounds write, which can be leveraged to corrupt memory and execute arbitrary code within the GRUB context. This would allow an attacker to bypass Secure Boot protections, load untrusted boot components, and gain persistence or execute unsigned code during the boot process [1][2].
Mitigation
Red Hat addressed the issue in Red Hat Enterprise Linux via RHSA-2022:8800 on December 6, 2022 [2]. Gentoo released version >=sys-boot/grub-2.06-r4 [3]. Users should update GRUB to the latest patched version provided by their distribution. No workaround is available; the vulnerability requires a software fix. Microsoft's August 2024 update also revokes vulnerable GRUB bootloaders via SBAT data to prevent Secure Boot bypass [1].
AI Insight generated on May 27, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
59- osv-coords59 versionspkg:rpm/almalinux/grub2-commonpkg:rpm/almalinux/grub2-efi-aa64pkg:rpm/almalinux/grub2-efi-aa64-cdbootpkg:rpm/almalinux/grub2-efi-aa64-modulespkg:rpm/almalinux/grub2-efi-ia32pkg:rpm/almalinux/grub2-efi-ia32-cdbootpkg:rpm/almalinux/grub2-efi-ia32-modulespkg:rpm/almalinux/grub2-efi-x64pkg:rpm/almalinux/grub2-efi-x64-cdbootpkg:rpm/almalinux/grub2-efi-x64-modulespkg:rpm/almalinux/grub2-pcpkg:rpm/almalinux/grub2-pc-modulespkg:rpm/almalinux/grub2-ppc64lepkg:rpm/almalinux/grub2-ppc64le-modulespkg:rpm/almalinux/grub2-toolspkg:rpm/almalinux/grub2-tools-efipkg:rpm/almalinux/grub2-tools-extrapkg:rpm/almalinux/grub2-tools-minimalpkg:rpm/opensuse/grub2&distro=openSUSE%20Leap%2015.3pkg:rpm/opensuse/grub2&distro=openSUSE%20Leap%2015.4pkg:rpm/opensuse/grub2&distro=openSUSE%20Leap%20Micro%205.2pkg:rpm/opensuse/grub2&distro=openSUSE%20Leap%20Micro%205.3pkg:rpm/opensuse/grub2&distro=openSUSE%20Tumbleweedpkg:rpm/suse/grub2&distro=SUSE%20Enterprise%20Storage%206pkg:rpm/suse/grub2&distro=SUSE%20Enterprise%20Storage%207pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP1-ESPOSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP1-LTSSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP2-ESPOSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015%20SP2-LTSSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015-ESPOSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20High%20Performance%20Computing%2015-LTSSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Micro%205.1pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Micro%205.2pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Micro%205.3pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP3pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP4pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Server%20Applications%2015%20SP3pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Server%20Applications%2015%20SP4pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP2-BCLpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP3-BCLpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP4-LTSSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP1-BCLpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP1-LTSSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP2-BCLpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2015%20SP2-LTSSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%2015-LTSSpkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2012%20SP4pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2012%20SP5pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP1pkg:rpm/suse/grub2&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2015%20SP2pkg:rpm/suse/grub2&distro=SUSE%20Manager%20Proxy%204.1pkg:rpm/suse/grub2&distro=SUSE%20Manager%20Proxy%20Module%204.2pkg:rpm/suse/grub2&distro=SUSE%20Manager%20Proxy%20Module%204.3pkg:rpm/suse/grub2&distro=SUSE%20Manager%20Retail%20Branch%20Server%204.1pkg:rpm/suse/grub2&distro=SUSE%20Manager%20Server%204.1pkg:rpm/suse/grub2&distro=SUSE%20OpenStack%20Cloud%209pkg:rpm/suse/grub2&distro=SUSE%20OpenStack%20Cloud%20Crowbar%209
< 1:2.02-142.el8_7.1.alma+ 58 more
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 1:2.02-142.el8_7.1.alma
- (no CPE)range: < 2.04-150300.22.25.1
- (no CPE)range: < 2.06-150400.11.17.1
- (no CPE)range: < 2.04-150300.22.25.1
- (no CPE)range: < 2.06-150400.11.17.1
- (no CPE)range: < 2.06-31.1
- (no CPE)range: < 2.02-150100.123.17.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.02-150100.123.17.1
- (no CPE)range: < 2.02-150100.123.17.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.02-150000.122.17.1
- (no CPE)range: < 2.02-150000.122.17.1
- (no CPE)range: < 2.04-150300.3.8.1
- (no CPE)range: < 2.04-150300.22.25.1
- (no CPE)range: < 2.06-150400.11.17.1
- (no CPE)range: < 2.04-150300.22.25.1
- (no CPE)range: < 2.06-150400.11.17.1
- (no CPE)range: < 2.04-150300.22.25.1
- (no CPE)range: < 2.06-150400.11.17.1
- (no CPE)range: < 2.02-115.72.1
- (no CPE)range: < 2.02-142.1
- (no CPE)range: < 2.02-153.1
- (no CPE)range: < 2.02-153.1
- (no CPE)range: < 2.02-150100.123.17.1
- (no CPE)range: < 2.02-150100.123.17.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.02-150000.122.17.1
- (no CPE)range: < 2.02-153.1
- (no CPE)range: < 2.02-153.1
- (no CPE)range: < 2.02-150000.122.17.1
- (no CPE)range: < 2.02-150100.123.17.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.04-150300.22.25.1
- (no CPE)range: < 2.06-150400.11.17.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.04-150200.9.68.1
- (no CPE)range: < 2.02-153.1
- (no CPE)range: < 2.02-153.1
Patches
0No patches discovered yet.
Vulnerability mechanics
No source-code context for this CVE — mechanics is only generated when we can read the actual fix diff. Without that, the four sections (root cause, attack vector, affected code, fix) would be speculation rather than analysis.
References
4News mentions
0No linked articles in our index yet.