Buffer overflow in Gnu Grub2

CVE-2020-14310

There is an issue on grub2 before version 2.06 at function read_section_as_string(). It expects a font name to be at max UINT32_MAX - 1 length in bytes but it doesn't verify it before proceed with buffer allocation to read the value from the font value. An attacker may leverage that by crafting a malicious font file which has a name with UINT32_MAX, leading to read_section_as_string() to an arithmetic overflow, zero-sized allocation and further heap-based buffer overflow.

Vulnerability class: Buffer Overflow

EPSS: 0.005 (38.6th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 5.7 (Medium). Vector: CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:H.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2020-14310?
CVE-2020-14310 is a medium-severity vulnerability in Gnu Grub2, classified under Heap-based Buffer Overflow. CVSS score: 5.7/10. Published 2020-07-31.
How severe is CVE-2020-14310?
Medium severity. CVSS v3 base score is 5.7 out of 10.
Is CVE-2020-14310 known to be exploited?
27 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.