CVE-2020-27749
Published: 2 March 2021
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.
From the Ubuntu Security Team
Chris Coulson discovered that a buffer overflow existed in the command line parser in GRUB 2. A local attacker could use this to execute arbitrary code and bypass UEFI Secure Boot restrictions.
Notes
Author | Note |
---|---|
sbeattie | grub2-unsigned will contain fixes and supersede grub2, which will contain only BIOS grub bits. |
Priority
Status
Package | Release | Status |
---|---|---|
grub2-unsigned Launchpad, Ubuntu, Debian |
xenial |
Pending
(2.04-1ubuntu42)
|
bionic |
Released
(2.04-1ubuntu44.1.2)
|
|
focal |
Released
(2.04-1ubuntu44.2)
|
|
groovy |
Released
(2.04-1ubuntu44.2)
|
|
upstream |
Needs triage
|
|
trusty |
Does not exist
|
|
hirsute |
Released
(2.04-1ubuntu42)
|
|
jammy |
Not vulnerable
(2.06-2ubuntu7)
|
|
kinetic |
Not vulnerable
(2.06-2ubuntu12)
|
|
lunar |
Not vulnerable
(2.06-2ubuntu16)
|
|
impish |
Released
(2.04-1ubuntu45)
|
|
grub2-signed Launchpad, Ubuntu, Debian |
upstream |
Needs triage
|
trusty |
Needed
|
|
hirsute |
Released
(1.164)
|
|
bionic |
Released
(1.167~18.04.5)
|
|
focal |
Released
(1.167.2)
|
|
groovy |
Released
(1.167.2)
|
|
jammy |
Not vulnerable
(1.180)
|
|
xenial |
Pending
(1.164)
|
|
kinetic |
Not vulnerable
(1.185)
|
|
lunar |
Not vulnerable
(1.192)
|
|
impish |
Released
(1.169)
|
|
grub2 Launchpad, Ubuntu, Debian |
trusty |
Needed
|
xenial |
Needed
|
|
bionic |
Needed
|
|
focal |
Needed
|
|
jammy |
Not vulnerable
(2.06-2ubuntu7)
|
|
kinetic |
Not vulnerable
(2.06-2ubuntu12)
|
|
lunar |
Not vulnerable
(2.06-2ubuntu16)
|
|
upstream |
Needs triage
|
Severity score breakdown
Parameter | Value |
---|---|
Base score | 7.5 |
Attack vector | Local |
Attack complexity | High |
Privileges required | High |
User interaction | None |
Scope | Changed |
Confidentiality | High |
Integrity impact | High |
Availability impact | High |
Vector | CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H |