CVE-2022-2601
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedA buffer overflow was found in grub_font_construct_glyph(). A malicious crafted pf2 font can lead to an overflow when calculating the max_glyph_size value, allocating a smaller than needed buffer for the glyph, this further leads to a buffer overflow and a heap based out-of-bounds write. An attacker may use this vulnerability to circumvent the secure boot mechanism.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceA buffer overflow exists in GRUB2's font_construct_glyph() function where a malicious pf2 font file causes incorrect calculation of max_glyph_size, resulting in allocation of an undersized buffer. This leads to a heap-based out-of-bounds write that can be exploited to circumvent secure boot verification.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data= 37= 9.0= 9.0= 8.2= 8.1= 8.2= 9.0= 8.2= 8.1= 8.2= 9.0<= 2.06CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Local
- Complexity
- Low
- Privileges
- None
- User interaction
- Required
- Scope
- Changed
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify GRUB2 versionRun 'grub2-mkversion' or check the installed grub2 package version using your distribution's package manager (e.g., 'rpm -q grub2' or 'dpkg -l grub2')Affected if The installed version is 2.06 or lower, or matches one of the affected Fedora/RHEL versions listed
-
Locate pf2 font files in boot configurationExamine GRUB configuration files (typically /boot/grub2/grub.cfg, /boot/efi/EFI/*/grub.cfg, or /etc/default/grub) for 'font' or 'loadfont' commands that reference .pf2 filesAffected if Custom pf2 font files are explicitly loaded in the GRUB configuration
-
Check for custom font directoryInspect the /boot/grub2/fonts/ directory (or /boot/efi/EFI/*/fonts/) for any .pf2 font files that are not part of the default OS installationAffected if Non-standard or custom pf2 font files exist in the boot font directory
-
Verify UEFI Secure Boot statusCheck if UEFI Secure Boot is enabled on the system (via 'mokutil --sb-state' or BIOS settings) and review any GRUB2-signed certificate policiesAffected if Secure Boot is enabled and GRUB2 is used as the bootloader, making this vulnerability exploitable for boot verification bypass
A system is affected if it runs GRUB2 version 2.06 or earlier with Secure Boot enabled and loads custom pf2 font files through GRUB configuration, allowing an attacker to potentially bypass secure boot verification via heap-based buffer overflow.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedUpdate GRUB2 to the patched version that corrects the max_glyph_size calculation. Verify all font files in the boot chain are trusted and consider implementing font file validation before loading.
GRUB2 version > 2.06 (typically 2.07 or later point release)
- 1. Obtain the fixed GRUB2 package from your Linux distribution's official repository (Red Hat, Fedora, or upstream)
- 2. Download or access the updated grub2, grub2-common, grub2-pc, or grub2-efi-x64 packages depending on your system architecture
- 3. Ensure you have a verified, secure boot chain and a way to recover (e.g., live media, rescue mode) in case of boot failure
- 4. Install the updated GRUB2 package using your distribution's package manager (dnf for RHEL/Fedora, yum for older systems)
- 5. Rebuild the GRUB configuration if necessary: for BIOS systems run 'grub2-mkconfig -o /boot/grub2/grub.cfg', for UEFI systems run 'grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg' or the appropriate path
- 6. Reinstall GRUB2 to the boot disk/partition: for BIOS use 'grub2-install /dev/sdX', for UEFI use 'grub2-install --efi-directory=/boot/efi'
- 7. Verify the installed GRUB2 version matches the fixed release (greater than 2.06)
- 8. Reboot the system and verify normal boot functionality
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation6.0 h
- Implementation12.0 h
- Testing10.0 h
- Review / QA6.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $9,504.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2022-2601 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2022-2601 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data