Your submission was sent successfully! Close

You have successfully unsubscribed! Close

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

AuthorNote
sbeattie
grub2-unsigned will contain fixes and supersede grub2, which will contain only BIOS grub bits.

Priority

Medium

Cvss 3 Severity Score

8.2

Score breakdown

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