CVE-2020-14310

NameCVE-2020-14310
DescriptionThere 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDSA-4735-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
grub2 (PTS)jessie, jessie (lts)2.02~beta2-22+deb8u2vulnerable
stretch (lts), stretch2.02~beta3-5+deb9u3vulnerable
buster (security), buster, buster (lts)2.06-3~deb10u4fixed
bullseye (security), bullseye2.06-3~deb11u6fixed
bookworm (security), bookworm2.06-13+deb12u1fixed
sid, trixie2.12-5fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
grub2sourcebuster2.02+dfsg1-20+deb10u1DSA-4735-1
grub2source(unstable)2.04-9

Notes

[stretch] - grub2 <ignored> (No SecureBoot support in stretch)
https://www.openwall.com/lists/oss-security/2020/07/29/3
https://git.savannah.gnu.org/gitweb/?p=grub.git;a=commit;h=3f05d693d1274965ffbe4ba99080dc2c570944c6
[jessie] - grub2 <ignored> (No SecureBoot support in jessie)

Search for package or bug name: Reporting problems