title: GRUB2 contained integer overflows when handling the initrd command, leading to a heap-based buffer overflow.
description: Integer overflows were discovered in the functions grub_cmd_initrd and grub_initrd_init in the efilinux component of GRUB2, as shipped in Debian, Red Hat, and Ubuntu (the functionality is not included in GRUB2 upstream), leading to a heap-based buffer overflow. These could be triggered by an extremely large number of arguments to the initrd command on 32-bit architectures, or a crafted filesystem with very large files on any architecture. An attacker could use this to execute arbitrary code and bypass UEFI Secure Boot restrictions. This issue affects GRUB2 version 2.04 and prior versions.
problem types: CWE-362 Race Condition (Concurrent Execution using Shared Resource with Improper Synchronization)
affected:
{
product: grub2 in Ubuntu
vendor: Ubuntu
versions:
lessThan: 2.04-1ubuntu26.1, status: affected, version: 20.04 LTS, versionType: custom
lessThan: 2.02-2ubuntu8.16, status: affected, version: 18.04 LTS, versionType: custom
lessThan: 2.02~beta2-36ubuntu3.26, status: affected, version: 16.04 LTS, versionType: custom
lessThan: 2.02~beta2-9ubuntu1.20, status: affected, version: 14.04 ESM, versionType: custom
}
metrics:
cvssV3_1: [
attackComplexity: HIGH
attackVector: LOCAL
availabilityImpact: HIGH
baseScore: 5.7
baseSeverity: MEDIUM
confidentialityImpact: NONE
integrityImpact: HIGH
privilegesRequired: HIGH
scope: UNCHANGED
userInteraction: NONE
vectorString: CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:H
version: 3.1
]