VendorsGNUgrub2all versions
Vulnerabilities

GNU grub2

Ranked by severity, then by exploit likelihood. Click a CVE ID for its full record.

48CVEs
CVE-2024-56737
GNU GRUB (aka GRUB2) through 2.12 has a heap-based buffer overflow in fs/hfs.c via crafted sblock data in an HFS filesystem.
Published 2024-12-29 · Analyzed
8.8EPSS 0.007
CVE-2022-2601
A 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.
Published 2022-12-14 · Modified
8.6EPSS 0.005
CVE-2020-10713
A flaw was found in grub2, prior to version 2.06. An attacker may use the GRUB 2 flaw to hijack and tamper the GRUB verification process. This flaw also allows the bypass of Secure Boot protections. In order to load an untrusted or modified kernel, an attacker would first need to establish access to the system such as gaining physical access, obtain the ability to alter a pxe-boot network, or have remote access to a networked system with root access. With this access, an attacker could then craft a string to cause a buffer overflow by injecting a malicious payload that leads to arbitrary code execution within GRUB. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Published 2020-07-30 · Modified
8.2EPSS 0.017
CVE-2020-25632
A flaw was found in grub2 in versions prior to 2.06. The rmmod implementation allows the unloading of a module used as a dependency without checking if any other dependent module is still loaded leading to a use-after-free scenario. This could allow arbitrary code to be executed or a bypass of Secure Boot protections. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Published 2021-03-03 · Modified
8.2EPSS 0.012
CVE-2021-20233
A flaw was found in grub2 in versions prior to 2.06. Setparam_prefix() in the menu rendering code performs a length calculation on the assumption that expressing a quoted single quote will require 3 characters, while it actually requires 4 characters which allows an attacker to corrupt memory by one byte for each quote in the input. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Published 2021-03-03 · Modified
8.2EPSS 0.006
CVE-2022-28733
Integer underflow in grub_net_recv_ip4_packets
Published 2023-07-20 · Modified
8.1EPSS 0.013
CVE-2022-28734
Out-of-bounds write when handling split HTTP headers
Published 2023-07-20 · Modified
8.1EPSS 0.011
CVE-2023-4692
Grub2: out-of-bounds write at fs/ntfs.c may lead to unsigned code execution
Published 2023-10-25 · Modified
7.8EPSS 0.005
CVE-2025-0689
Grub2: udf: heap based buffer overflow in grub_udf_read_block() may lead to arbitrary code execution
Published 2025-03-03 · Modified
7.8EPSS 0.005
CVE-2025-1125
Grub2: fs/hfs: integer overflow may lead to heap based out-of-bounds write
Published 2025-03-03 · Modified
7.8EPSS 0.004
CVE-2022-28735
The GRUB2's shim_lock verifier allows non-kernel files to be loaded on shim-powered secure boot systems. Allowing such files to be loaded may lead to unverified code and modules to be loaded in GRUB2 breaking the secure boot trust-chain.
Published 2023-07-20 · Modified
7.8EPSS 0.003
CVE-2022-28736
There's a use-after-free vulnerability in grub_cmd_chainloader() function
Published 2023-07-20 · Modified
7.8EPSS 0.003
CVE-2025-0678
Grub2: squash4: integer overflow may lead to heap based out-of-bounds write when reading data
Published 2025-03-03 · Modified
7.8EPSS 0.003
CVE-2024-45782
Grub2: fs/hfs: strcpy() using the volume name (fs/hfs.c:382)
Published 2025-03-03 · Modified
7.8EPSS 0.002
CVE-2025-61662
Grub2: missing unregister call for gettext command may lead to use-after-free
Published 2025-11-18 · Modified
7.8EPSS 0.002
CVE-2020-25647
A flaw was found in grub2 in versions prior to 2.06. During USB device initialization, descriptors are read with very little bounds checking and assumes the USB device is providing sane values. If properly exploited, an attacker could trigger memory corruption leading to arbitrary code execution allowing a bypass of the Secure Boot mechanism. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Published 2021-03-03 · Modified
7.6EPSS 0.008
CVE-2020-14372
A flaw was found in grub2 in versions prior to 2.06, where it incorrectly enables the usage of the ACPI command when Secure Boot is enabled. This flaw allows an attacker with privileged access to craft a Secondary System Description Table (SSDT) containing code to overwrite the Linux kernel lockdown variable content directly into memory. The table is further loaded and executed by the kernel, defeating its Secure Boot lockdown and allowing the attacker to load unsigned code. The highest threat from this vulnerability is to data confidentiality and integrity, as well as system availability.
Published 2021-03-03 · Modified
7.5EPSS 0.017
CVE-2020-27779
A flaw was found in grub2 in versions prior to 2.06. The cutmem command does not honor secure boot locking allowing an privileged attacker to remove address ranges from memory creating an opportunity to circumvent SecureBoot protections after proper triage about grub's memory layout. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Published 2021-03-03 · Modified
7.5EPSS 0.004
CVE-2015-8370
Multiple integer underflows in Grub2 1.98 through 2.02 allow physically proximate attackers to bypass authentication, obtain sensitive information, or cause a denial of service (disk corruption) via backspace characters in the (1) grub_username_get function in grub-core/normal/auth.c or the (2) grub_password_get function in lib/crypto.c, which trigger an "Off-by-two" or "Out of bounds overwrite" memory error.
Published 2015-12-16 · Modified
7.4EPSS 0.011
CVE-2021-20225
A flaw was found in grub2 in versions prior to 2.06. The option parser allows an attacker to write past the end of a heap-allocated buffer by calling certain commands with a large number of specific short forms of options. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Published 2021-03-03 · Modified
7.2EPSS 0.010
CVE-2020-27749
A flaw was found in grub2 in versions prior to 2.06. Variable names present are expanded in the supplied command line into their corresponding variable contents, using a 1kB stack buffer for temporary storage, without sufficient bounds checking. If the function is called with a command line that references a variable with a sufficiently large payload, it is possible to overflow the stack buffer, corrupt the stack frame and control execution which could also circumvent Secure Boot protections. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
Published 2021-03-03 · Modified
7.2EPSS 0.006
CVE-2022-3775
When rendering certain unicode sequences, grub2's font code doesn't proper validate if the informed glyph's width and height is constrained within bitmap size. As consequence an attacker can craft an input which will lead to a out-of-bounds write into grub2's heap, leading to memory corruption and availability issues. Although complex, arbitrary code execution could not be discarded.
Published 2022-12-19 · Modified
7.1EPSS 0.009
CVE-2021-3697
A crafted JPEG image may lead the JPEG reader to underflow its data pointer, allowing user-controlled data to be written in heap. To a successful to be performed the attacker needs to perform some triage over the heap layout and craft an image with a malicious format and payload. This vulnerability can lead to data corruption and eventual code execution or secure boot circumvention. This flaw affects grub2 versions prior grub-2.12.
Published 2022-07-06 · Modified
7.0EPSS 0.005
CVE-2021-3696
A heap out-of-bounds write may heppen during the handling of Huffman tables in the PNG reader. This may lead to data corruption in the heap space. Confidentiality, Integrity and Availablity impact may be considered Low as it's very complex to an attacker control the encoding and positioning of corrupted Huffman entries to achieve results such as arbitrary code execution and/or secure boot circumvention. This flaw affects grub2 versions prior grub-2.12.
Published 2022-07-06 · Modified
6.9EPSS 0.005
CVE-2023-4001
Grub2: bypass the grub password protection feature
Published 2024-01-15 · Modified
6.8EPSS 0.005
CVE-2020-14309
There's an issue with grub2 in all versions before 2.06 when handling squashfs filesystems containing a symbolic link with name length of UINT32 bytes in size. The name size leads to an arithmetic overflow leading to a zero-size allocation further causing a heap-based buffer overflow with attacker controlled data.
Published 2020-07-30 · Modified
6.7EPSS 0.005
CVE-2024-2312
GRUB2 does not call the module fini functions on exit, leading to Debian/Ubuntu's peimage GRUB2 module leaving UEFI system table hooks after exit. This lead to a use-after-free condition, and could possibly lead to secure boot bypass.
Published 2024-04-05 · Analyzed
6.7EPSS 0.004
CVE-2024-45780
Grub2: fs/tar: integer overflow causes heap oob write
Published 2025-03-03 · Analyzed
6.7EPSS 0.003
CVE-2024-45777
Grub2: grub-core/gettext: integer overflow leads to heap oob write.
Published 2025-02-19 · Modified
6.7EPSS 0.002
CVE-2020-15707
GRUB2 contained integer overflows when handling the initrd command, leading to a heap-based buffer overflow.
Published 2020-07-29 · Modified
6.4EPSS 0.016
CVE-2020-15705
GRUB2: avoid loading unsigned kernels when GRUB is booted directly under secureboot without shim
Published 2020-07-29 · Modified
6.4EPSS 0.014
CVE-2020-15706
GRUB2 contains a race condition leading to a use-after-free vulnerability which can be triggered by redefining a function whilst the same function is already executing.
Published 2020-07-29 · Modified
6.4EPSS 0.010
CVE-2021-3418
If certificates that signed grub are installed into db, grub can be booted directly. It will then boot any kernel without signature validation. The booted kernel will think it was booted in secureboot mode and will implement lockdown, yet it could have been tampered. This flaw is a reintroduction of CVE-2020-15705 and only affects grub2 versions prior to 2.06 and upstream and distributions using the shim_lock mechanism.
Published 2021-03-15 · Modified
6.4EPSS 0.005
CVE-2020-14308
In grub2 versions before 2.06 the grub memory allocator doesn't check for possible arithmetic overflows on the requested allocation size. This leads the function to return invalid memory allocations which can be further used to cause possible integrity, confidentiality and availability impacts during the boot process.
Published 2020-07-29 · Modified
6.4EPSS 0.004
CVE-2025-0685
Grub2: jfs: integer overflow when handling symlinks may lead to heap based out-of-bounds write when reading data
Published 2025-03-03 · Modified
6.4EPSS 0.003
CVE-2025-0686
Grub2: romfs: integer overflow when handling symlinks may lead to heap based out-of-bounds write when reading dat
Published 2025-03-03 · Modified
6.4EPSS 0.003
CVE-2025-0684
Grub2: reiserfs: integer overflow when handling symlinks may lead to heap based out-of-bounds write when reading data
Published 2025-03-03 · Modified
6.4EPSS 0.003
CVE-2020-14310
There is an issue on grub2 before version 2.06 at function read_section_as_string(). It expects a font name to be at max UINT32_MAX - 1 length in bytes but it doesn't verify it before proceed with buffer allocation to read the value from the font value. An attacker may leverage that by crafting a malicious font file which has a name with UINT32_MAX, leading to read_section_as_string() to an arithmetic overflow, zero-sized allocation and further heap-based buffer overflow.
Published 2020-07-31 · Modified
6.0EPSS 0.005
CVE-2020-14311
There is an issue with grub2 before version 2.06 while handling symlink on ext filesystems. A filesystem containing a symbolic link with an inode size of UINT32_MAX causes an arithmetic overflow leading to a zero-sized memory allocation with subsequent heap-based buffer overflow.
Published 2020-07-31 · Modified
6.0EPSS 0.005
CVE-2024-45779
Grub2: fs/bfs: integer overflow leads to heap oob read in the bfs parser
Published 2025-03-03 · Modified
6.0EPSS 0.003
1 / 2Next →