GRUB2 contained integer overflows when handling the initrd command, leading to a heap-based buffer overflow. (Ubuntu grub2 in Ubuntu)

CVE-2020-15707
MEDIUM 5.7

At a glance

Source
NVD
EPSS
EPSS 1.59 % · percentile 76 ()
State
PUBLISHED
Published
Updated
Assigner
canonical
NVD status
Modified

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.

Weaknesses (CWE)

  • CWE-362 — Concurrent Execution using Shared Resource with Improper Synchronization
  • CWE-190 — Integer Overflow or Wraparound

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.7CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:Hcanonical
CVSS 3.1MEDIUM 5.7CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:HNVD · security@ubuntu.com (Secondary)
CVSS 3.1MEDIUM 6.4CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:HNVD · nvd@nist.gov (Primary)
CVSS 2.0MEDIUM 4.4AV:L/AC:M/Au:N/C:P/I:P/A:PNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Ubuntu · grub2 in Ubuntuaffected 20.04 LTS < 2.04-1ubuntu26.1 ; affected 18.04 LTS < 2.02-2ubuntu8.16 ; affected 16.04 LTS < 2.02~beta2-36ubuntu3.26 ; affected 14.04 ESM < 2.02~beta2-9ubuntu1.20

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD