In grub2 versions before 2.06 the grub memory allocator doesn't check for possible arithmetic overflows on the requested allocation size. This leads the function to return invalid memory allocations which can be further used to cause possible integrity, confidentiality and availability impacts during the boot process.
http://lists.opensuse.org/opensuse-security-announce/2020-08/msg00016.html
http://lists.opensuse.org/opensuse-security-announce/2020-08/msg00017.html
https://bugzilla.redhat.com/show_bug.cgi?id=1852009
https://security.gentoo.org/glsa/202104-05
https://security.netapp.com/advisory/ntap-20200731-0008/
https://usn.ubuntu.com/4432-1/
http://www.openwall.com/lists/oss-security/2020/07/29/3
http://www.openwall.com/lists/oss-security/2021/09/17/2