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.

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.

Published: 2020-07-29 Last update: 2024-11-21 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2020-15706 is rated Low Risk (31.7/100): CVSS Medium severity, with low exploitation likelihood (EPSS 0.06%). Mandatory action: Monitor for updates and reassess as exploit intelligence or EPSS changes.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2020-15706

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2025-11-21 0.48% 0.06% -0.42%
2 2025-11-18 0.05% 0.48% +0.43%
3 2025-03-17 0.05%

Full EPSS history (10 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2020-15706

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
6.4 3.1 MEDIUM
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H Click to expand
Attack vector (AV:L)
They already need access on the box, or another person has to do something wrong; it’s not a remote drive-by.
Attack complexity (AC:H)
Even with access, the exploit needs extra luck, timing, or a fussy environment to actually work.
Privileges required (PR:H)
They need powerful rights—admin, root, or similar—before this pays off.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
0.5 5.9 [email protected]
6.4 3.1 MEDIUM
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H Click to expand
Attack vector (AV:L)
They already need access on the box, or another person has to do something wrong; it’s not a remote drive-by.
Attack complexity (AC:H)
Even with access, the exploit needs extra luck, timing, or a fussy environment to actually work.
Privileges required (PR:H)
They need powerful rights—admin, root, or similar—before this pays off.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
0.5 5.9 [email protected]
4.4 2.0 MEDIUM
AV:L/AC:M/Au:N/C:P/I:P/A:P Click to expand
Access vector (AV:L)
Requires local access to the target system.
Access complexity (AC:M)
Exploitation needs some favorable conditions, but not exceptional ones.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:P)
Partial confidentiality impact.
Integrity impact (I:P)
Partial integrity impact.
Availability impact (A:P)
Partial availability impact.
3.4 6.4 [email protected]

Weakness enumeration for CVE-2020-15706

OS Trackers for CVE-2020-15706

vendor priority summary link
alpine medium CVE-2020-15706: 1 source package rows (grub); 7 state rows across 7 repos (3.17-main, 3.18-main, 3.19-main, 3.20-main, 3.21-main, 3.22-main, edge-main); fixed 7, open 0. https://security.alpinelinux.org/vuln/CVE-2020-15706
debian not yet assigned CVE-2020-15706 not yet assigned priority: Debian including 1 source packages (grub2), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. https://security-tracker.debian.org/tracker/CVE-2020-15706
gentoo normal CVE-2020-15706: 1 GLSA(s) (202104-05), 1 atom(s) (sys-devel/grub); latest impact normal. https://bugs.gentoo.org/buglist.cgi?quicksearch=CVE-2020-15706
redhat medium https://access.redhat.com/security/cve/CVE-2020-15706
suse medium CVE-2020-15706 severity moderate: SUSE including 440 source package names (amazon/suse-sles-15-sp1-chost-byos-v20210304-hvm-ssd-x86_64, amazon/suse-sles-15-sp1-chost-byos-v20220127-hvm-ssd-x86_64, …), 672 product×package rows across 77 product lines (HPE Helion OpenStack 8, Image SLES12-SP5-Azure-BYOS, … (77 product lines)): Fixed 515, Known Affected 157. https://www.suse.com/security/cve/CVE-2020-15706/
ubuntu high CVE-2020-15706 high priority: Ubuntu including 3 source packages (grub2, grub2-signed, grub2-unsigned), 43 status rows across 15 suites (bionic, focal, groovy, hirsute, jammy, kinetic, lunar, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial): not-affected 30, released 8, needs-triage 3, DNE 1, needed 1. https://ubuntu.com/security/CVE-2020-15706

Affected software / configurations for CVE-2020-15706

Vendor Product Version Raw CPE
gnu grub2 <= 2.04 cpe:2.3:a:gnu:grub2:*:*:*:*:*:*:*:*
redhat enterprise_linux_atomic_host cpe:2.3:a:redhat:enterprise_linux_atomic_host:-:*:*:*:*:*:*:*
redhat openshift_container_platform 4.0 cpe:2.3:a:redhat:openshift_container_platform:4.0:*:*:*:*:*:*:*
canonical ubuntu_linux 14.04 cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:esm:*:*:*
canonical ubuntu_linux 16.04 cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*
canonical ubuntu_linux 18.04 cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*
canonical ubuntu_linux 20.04 cpe:2.3:o:canonical:ubuntu_linux:20.04:*:*:*:lts:*:*:*
debian debian_linux 10.0 cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
redhat enterprise_linux 7.0 cpe:2.3:o:redhat:enterprise_linux:7.0:*:*:*:*:*:*:*
redhat enterprise_linux 8.0 cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*
suse suse_linux_enterprise_server 11 cpe:2.3:o:suse:suse_linux_enterprise_server:11:*:*:*:*:*:*:*
suse suse_linux_enterprise_server 12 cpe:2.3:o:suse:suse_linux_enterprise_server:12:*:*:*:*:*:*:*
suse suse_linux_enterprise_server 15 cpe:2.3:o:suse:suse_linux_enterprise_server:15:*:*:*:*:*:*:*
microsoft windows_10 cpe:2.3:o:microsoft:windows_10:-:*:*:*:*:*:*:*
microsoft windows_10 1607 cpe:2.3:o:microsoft:windows_10:1607:*:*:*:*:*:*:*
microsoft windows_10 1709 cpe:2.3:o:microsoft:windows_10:1709:*:*:*:*:*:*:*
microsoft windows_10 1803 cpe:2.3:o:microsoft:windows_10:1803:*:*:*:*:*:*:*
microsoft windows_10 1809 cpe:2.3:o:microsoft:windows_10:1809:*:*:*:*:*:*:*
microsoft windows_10 1903 cpe:2.3:o:microsoft:windows_10:1903:*:*:*:*:*:*:*
microsoft windows_10 1909 cpe:2.3:o:microsoft:windows_10:1909:*:*:*:*:*:*:*
microsoft windows_10 2004 cpe:2.3:o:microsoft:windows_10:2004:*:*:*:*:*:*:*
microsoft windows_8.1 cpe:2.3:o:microsoft:windows_8.1:-:*:*:*:*:*:*:*
microsoft windows_rt_8.1 cpe:2.3:o:microsoft:windows_rt_8.1:-:*:*:*:*:*:*:*
microsoft windows_server_2012 cpe:2.3:o:microsoft:windows_server_2012:-:*:*:*:*:*:*:*
microsoft windows_server_2012 r2 cpe:2.3:o:microsoft:windows_server_2012:r2:*:*:*:*:*:*:*
microsoft windows_server_2016 cpe:2.3:o:microsoft:windows_server_2016:-:*:*:*:*:*:*:*
microsoft windows_server_2016 1903 cpe:2.3:o:microsoft:windows_server_2016:1903:*:*:*:*:*:*:*
microsoft windows_server_2016 1909 cpe:2.3:o:microsoft:windows_server_2016:1909:*:*:*:*:*:*:*
microsoft windows_server_2016 2004 cpe:2.3:o:microsoft:windows_server_2016:2004:*:*:*:*:*:*:*
microsoft windows_server_2019 cpe:2.3:o:microsoft:windows_server_2019:-:*:*:*:*:*:*:*
opensuse leap 15.1 cpe:2.3:o:opensuse:leap:15.1:*:*:*:*:*:*:*
opensuse leap 15.2 cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:*
canonical ubuntu_linux 16.04 cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:esm:*:*:*

References for CVE-2020-15706

URL Tags
http://lists.opensuse.org/opensuse-security-announce/2020-08/msg00016.html Broken Link Mailing List Third Party Advisory
http://lists.opensuse.org/opensuse-security-announce/2020-08/msg00017.html Broken Link Mailing List Third Party Advisory
http://ubuntu.com/security/notices/USN-4432-1 Third Party Advisory
http://www.openwall.com/lists/oss-security/2020/07/29/3 Mailing List Third Party Advisory
https://access.redhat.com/security/vulnerabilities/grub2bootloader Third Party Advisory
https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html Issue Tracking Vendor Advisory
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV200011 Patch Third Party Advisory Vendor Advisory
https://security.gentoo.org/glsa/202104-05 Third Party Advisory
https://security.netapp.com/advisory/ntap-20200731-0008/ Third Party Advisory
https://usn.ubuntu.com/4432-1/ Third Party Advisory
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass Third Party Advisory
https://www.debian.org/security/2020-GRUB-UEFI-SecureBoot Third Party Advisory
https://www.debian.org/security/2020/dsa-4735 Third Party Advisory
https://www.eclypsium.com/2020/07/29/theres-a-hole-in-the-boot/ Third Party Advisory
https://www.openwall.com/lists/oss-security/2020/07/29/3 Mailing List Third Party Advisory
https://www.suse.com/c/suse-addresses-grub2-secure-boot-issue/ Third Party Advisory
https://www.suse.com/support/kb/doc/?id=000019673 Third Party Advisory
cvelogic Threat Intelligence