Description
GRUB2 contains a race condition in grub_script_function_create() leading to a use-after-free vulnerability which can be triggered by redefining a function whilst the same function is already executing, leading to arbitrary code execution and secure boot restriction bypass. This issue affects GRUB2 version 2.04 and prior versions.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Ubuntu | grub2 in Ubuntu | 20.04 LTS – < 2.04-1ubuntu26.1, 18.04 LTS – < 2.02-2ubuntu8.16, 16.04 LTS – < 2.02~beta2-36ubuntu3.26, 14.04 ESM – < 2.02~beta2-9ubuntu1.20 | 2.04-1ubuntu26.1 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | grub2 | 2.04-9 | — |
| Debian 13 | grub2 | 2.04-9 | — |
| Debian 12 | grub2 | 2.04-9 | — |
| Debian 10 | grub2 | 2.02+dfsg1-20+deb10u1 | DSA-4735-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | grub2 | 2.04-1ubuntu26.1 | USN-4432-1 |
| Ubuntu 20.04 LTS | grub2-signed | 1.142.3 | USN-4432-1 |
| Ubuntu 18.04 LTS | grub2 | 2.02-2ubuntu8.16 | USN-4432-1 |
| Ubuntu 18.04 LTS | grub2-signed | 1.93.18 | USN-4432-1 |
| Ubuntu 16.04 LTS | grub2 | 2.02~beta2-36ubuntu3.26 | USN-4432-1 |
| Ubuntu 16.04 LTS | grub2-signed | 1.66.26 | USN-4432-1 |
| Ubuntu 16.04 LTS | grub2-unsigned | No fix yet | — |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 14.04 LTS | grub2 | 2.02~beta2-9ubuntu1.20 | USN-4432-1 |
| Ubuntu Pro 14.04 LTS | grub2-signed | 1.34.22 | USN-4432-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8 | fwupd | 1.1.4-7.el8_2 | RHSA-2020:3216 |
| RHEL 8 | grub2 +18 | 1:2.02-87.el8_2 | RHSA-2020:3216 |
| RHEL 8 | shim +3 | 15-14.el8_2 | RHSA-2020:3216 |
| RHEL 8 | shim-unsigned-x64 | 15-7.el8 | RHSA-2020:3216 |
| RHEL 7 | fwupdate +3 | 12-6.el7_8 | RHSA-2020:3217 |
| RHEL 7 | grub2 +18 | 1:2.02-0.86.el7_8 | RHSA-2020:3217 |
| RHEL 7 | mokutil +3 | 15-7.el7_8 | RHSA-2020:3217 |
| RHEL 7 | shim +2 | 15-7.el7_9 | RHSA-2020:3217 |
Show 11 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8.1 EUS | fwupd | 1.1.4-2.el8_1 | RHSA-2020:3223 |
| RHEL 8.1 EUS | grub2 +18 | 1:2.02-87.el8_1 | RHSA-2020:3223 |
| RHEL 8.1 EUS | shim +3 | 15-14.el8_1 | RHSA-2020:3223 |
| RHEL 8.1 EUS | shim-unsigned-x64 | 15-7.el8 | RHSA-2020:3223 |
| RHEL 8.0 E4S | fwupd | 1.1.4-2.el8_0 | RHSA-2020:3227 |
| RHEL 8.0 E4S | grub2 +16 | 1:2.02-87.el8_0 | RHSA-2020:3227 |
| RHEL 8.0 E4S | shim +2 | 15-14.el8_0 | RHSA-2020:3227 |
| RHEL 7.7 EUS | fwupdate +3 | 12-6.el7_7 | RHSA-2020:3274 |
| RHEL 7.7 EUS | grub2 +18 | 1:2.02-0.86.el7_7 | RHSA-2020:3274 |
| RHEL 7.7 EUS | mokutil +3 | 15-8.el7_7 | RHSA-2020:3274 |
| RHEL 7.7 EUS | shim +2 | 15-8.el7 | RHSA-2020:3274 |
| RHEL 7.6 EUS | fwupdate +3 | 12-6.el7_6 | RHSA-2020:3271 |
| RHEL 7.6 EUS | grub2 +18 | 1:2.02-0.86.el7_6 | RHSA-2020:3271 |
| RHEL 7.6 EUS | mokutil +3 | 15-8.el7_6 | RHSA-2020:3271 |
| RHEL 7.6 EUS | shim +2 | 15-8.el7 | RHSA-2020:3271 |
| RHEL 7.4 TUS | fwupdate +3 | 9-10.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 TUS | grub2 +16 | 1:2.02-0.86.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 TUS | mokutil +3 | 15-8.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 TUS | shim +2 | 15-8.el7 | RHSA-2020:3275 |
| RHEL 7.4 E4S | fwupdate +3 | 9-10.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 E4S | grub2 +17 | 1:2.02-0.86.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 E4S | mokutil +3 | 15-8.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 E4S | shim +2 | 15-8.el7 | RHSA-2020:3275 |
| RHEL 7.4 AUS | fwupdate +3 | 9-10.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 AUS | grub2 +16 | 1:2.02-0.86.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 AUS | mokutil +3 | 15-8.el7_4 | RHSA-2020:3275 |
| RHEL 7.4 AUS | shim +2 | 15-8.el7 | RHSA-2020:3275 |
| RHEL 7.3 TUS | grub2 +16 | 1:2.02-0.86.el7 | RHSA-2020:3276 |
| RHEL 7.3 TUS | mokutil +1 | 15-8.el7_3 | RHSA-2020:3276 |
| RHEL 7.3 TUS | shim +2 | 15-8.el7 | RHSA-2020:3276 |
| RHEL 7.3 E4S | grub2 +17 | 1:2.02-0.86.el7 | RHSA-2020:3276 |
| RHEL 7.3 E4S | mokutil +1 | 15-8.el7_3 | RHSA-2020:3276 |
| RHEL 7.3 E4S | shim +2 | 15-8.el7 | RHSA-2020:3276 |
| RHEL 7.3 AUS | grub2 +16 | 1:2.02-0.86.el7 | RHSA-2020:3276 |
| RHEL 7.3 AUS | mokutil +1 | 15-8.el7_3 | RHSA-2020:3276 |
| RHEL 7.3 AUS | shim +2 | 15-8.el7 | RHSA-2020:3276 |
| RHEL 7.2 AUS | grub2 +16 | 1:2.02-0.86.el7_2 | RHSA-2020:3273 |
| RHEL 7.2 AUS | mokutil +1 | 15-8.el7_2 | RHSA-2020:3273 |
| RHEL 7.2 AUS | shim +2 | 15-8.el7 | RHSA-2020:3273 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP2 | grub2 | 2.04-9.7.1 | SUSE-SU-2020:2074-1 |
| SLES 15 SP1 | grub2 | 2.02-26.25.1 | SUSE-SU-2020:2077-1 |
| SLES 15 | grub2 | 2.02-19.48.1 | SUSE-SU-2020:2073-1 |
| SLES 12 SP5 | grub2 | 2.02-12.31.1 | SUSE-SU-2020:2078-1 |
| SLES 12 SP4 | grub2 | 2.02-12.31.1 | SUSE-SU-2020:2078-1 |
Show 16 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 12 SP3 | grub2 | 2.02-4.53.1 | SUSE-SU-2020:2079-1 |
| SLES 12 SP2 | grub2 | 2.02~beta2-115.49.1 | SUSE-SU-2020:2076-1 |
| SLES 11 SP4 | grub2 | 2.00-0.66.15.1 | SUSE-SU-2020:14440-1 |
| SLES for SAP 15 | grub2 | 2.02-19.48.1 | SUSE-SU-2020:2073-1 |
| SLES for SAP 12 SP5 | grub2 | 2.02-12.31.1 | SUSE-SU-2020:2078-1 |
| SLES for SAP 12 SP4 | grub2 | 2.02-12.31.1 | SUSE-SU-2020:2078-1 |
| SLES for SAP 12 SP3 | grub2 | 2.02-4.53.1 | SUSE-SU-2020:2079-1 |
| SLES for SAP 12 SP2 | grub2 | 2.02~beta2-115.49.1 | SUSE-SU-2020:2076-1 |
| SLE HPC 15 | grub2 | 2.02-19.48.1 | SUSE-SU-2020:2073-1 |
| SUSE OpenStack Cloud Crowbar 9 | grub2 | 2.02-12.31.1 | SUSE-SU-2020:2078-1 |
| SUSE OpenStack Cloud Crowbar 8 | grub2 | 2.02-4.53.1 | SUSE-SU-2020:2079-1 |
| SUSE OpenStack Cloud 9 | grub2 | 2.02-12.31.1 | SUSE-SU-2020:2078-1 |
| SUSE OpenStack Cloud 8 | grub2 | 2.02-4.53.1 | SUSE-SU-2020:2079-1 |
| SUSE OpenStack Cloud 7 | grub2 | 2.02~beta2-115.49.1 | SUSE-SU-2020:2076-1 |
| SUSE HPE Helion OpenStack 8 | grub2 | 2.02-4.53.1 | SUSE-SU-2020:2079-1 |
| SUSE Enterprise Storage 5 | grub2 | 2.02-4.53.1 | SUSE-SU-2020:2079-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | grub2 | 2.06-7.1 | openSUSE-SU-2024:10824-1 |
| openSUSE Leap 15.2 | grub2 | 2.04-lp152.7.3.4 | openSUSE-SU-2020:1169-1 |
| openSUSE Leap 15.1 | grub2 | 2.02-lp151.21.21.4 | openSUSE-SU-2020:1168-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | grub | 2.06-r0 | — |
| Alpine v3.23 | grub | 2.06-r0 | — |
| Alpine v3.22 | grub | 2.06-r0 | — |
| Alpine v3.21 | grub | 2.06-r0 | — |
| Alpine v3.20 | grub | 2.06-r0 | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.19 | grub | 2.06-r0 | — |
| Alpine v3.18 | grub | 2.06-r0 | — |
| Alpine v3.17 | grub | 2.06-r0 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 8 | grub2-pc +15 | 1:2.02-82.0.2.el8_2.1 | ELSA-2020-5786 |
| Oracle Linux 7 | grub2 +12 | 1:2.02-0.81.0.3.el7 | ELSA-2020-5790, ELSA-2020-5782 |
| Oracle Linux 7 | grub2-efi-aa64 +1 | 1:2.02-0.81.0.4.el7 | ELSA-2020-5790 |
Advisories 26
- USN-4432-1 grub2, grub2-signed vulnerabilities Ubuntu Security Notices (USN) · Jun 29, 2026
- RHSA-2020:3276 Red Hat Security Advisory: grub2 security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:3274 Red Hat Security Advisory: grub2 security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:3275 Red Hat Security Advisory: grub2 security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:3271 Red Hat Security Advisory: grub2 security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:3273 Red Hat Security Advisory: grub2 security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:3227 Red Hat Security Advisory: grub2 security update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:3223 Red Hat Security Advisory: grub2 security update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:3217 Red Hat Security Advisory: grub2 security and bug fix update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- RHSA-2020:3216 Red Hat Security Advisory: grub2 security update Red Hat Security Advisories (RHSA) · Jun 28, 2026
- WID-SEC-2022-0553 Grub2: Mehrere Schwachstellen ermöglichen Umgehen von Sicherheitsvorkehrungen BSI CERT-Bund (WID) · Mar 17, 2026
- DSA-4735-1 grub2 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- SUSE-SU-2020:2079-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:2076-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2020:1168-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:2077-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:2078-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2020:1169-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:14440-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:10824-1 grub2-2.06-7.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:2074-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:2073-1 Security update for grub2 SUSE / openSUSE Security Updates · Feb 4, 2026
- ICSA-21-336-06 Hitachi Energy APM Edge CISA ICS & IT advisories · Dec 2, 2021
- ELSA-2020-5786 Important: grub2 security update (Oracle Linux 8) Oracle Linux Security Advisories (ELSA) · Jul 29, 2020
- ELSA-2020-5782 Important: grub2 security update (Oracle Linux 7) Oracle Linux Security Advisories (ELSA) · Jul 29, 2020
- ELSA-2020-5790 Important: grub2 security update (Oracle Linux 7) Oracle Linux Security Advisories (ELSA) · Jul 29, 2020
References
- https://www.eclypsium.com/2020/07/29/theres-a-hole-in-the-boot/
- https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass vendor-advisory
- http://ubuntu.com/security/notices/USN-4432-1 vendor-advisory
- https://www.debian.org/security/2020-GRUB-UEFI-SecureBoot vendor-advisory
- https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV200011
- https://access.redhat.com/security/vulnerabilities/grub2bootloader vendor-advisory
- https://www.suse.com/c/suse-addresses-grub2-secure-boot-issue/ vendor-advisory
- https://www.suse.com/support/kb/doc/?id=000019673 vendor-advisory
- https://www.openwall.com/lists/oss-security/2020/07/29/3
- https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html
- DSA-4735 vendor-advisory
- [oss-security] 20200729 multiple secure boot grub2 and linux kernel vulnerabilities mailing-list
- https://security.netapp.com/advisory/ntap-20200731-0008/
- USN-4432-1 vendor-advisory
- openSUSE-SU-2020:1169 vendor-advisory
- openSUSE-SU-2020:1168 vendor-advisory
- GLSA-202104-05 vendor-advisory