CVE-2021-20233
Published: 2 March 2021
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.
From the Ubuntu Security Team
It was discovered that the menu rendering implementation in GRUB 2 did not properly calculate the amount of memory needed in some situations, leading to out-of-bounds writes. 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-signed Launchpad, Ubuntu, Debian |
hirsute |
Released
(1.164)
|
bionic |
Released
(1.167~18.04.5)
|
|
focal |
Released
(1.167.2)
|
|
groovy |
Released
(1.167.2)
|
|
trusty |
Needed
|
|
jammy |
Not vulnerable
(1.180)
|
|
kinetic |
Not vulnerable
(1.185)
|
|
lunar |
Not vulnerable
(1.192)
|
|
xenial |
Pending
(1.164)
|
|
impish |
Released
(1.169)
|
|
upstream |
Needs triage
|
|
grub2-unsigned Launchpad, Ubuntu, Debian |
hirsute |
Released
(2.04-1ubuntu42)
|
xenial |
Pending
(2.04-1ubuntu42)
|
|
bionic |
Released
(2.04-1ubuntu44.1.2)
|
|
focal |
Released
(2.04-1ubuntu44.2)
|
|
groovy |
Released
(2.04-1ubuntu44.2)
|
|
jammy |
Not vulnerable
(2.06-2ubuntu7)
|
|
kinetic |
Not vulnerable
(2.06-2ubuntu12)
|
|
lunar |
Not vulnerable
(2.06-2ubuntu16)
|
|
impish |
Released
(2.04-1ubuntu45)
|
|
trusty |
Does not exist
|
|
upstream |
Needs triage
|
|
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 | 8.2 |
Attack vector | Local |
Attack complexity | Low |
Privileges required | High |
User interaction | None |
Scope | Changed |
Confidentiality | High |
Integrity impact | High |
Availability impact | High |
Vector | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H |