3f05d693d1
This attempts to fix the places where we do the following where arithmetic_expr may include unvalidated data: X = grub_malloc(arithmetic_expr); It accomplishes this by doing the arithmetic ahead of time using grub_add(), grub_sub(), grub_mul() and testing for overflow before proceeding. Among other issues, this fixes: - allocation of integer overflow in grub_video_bitmap_create() reported by Chris Coulson, - allocation of integer overflow in grub_png_decode_image_header() reported by Chris Coulson, - allocation of integer overflow in grub_squash_read_symlink() reported by Chris Coulson, - allocation of integer overflow in grub_ext2_read_symlink() reported by Chris Coulson, - allocation of integer overflow in read_section_as_string() reported by Chris Coulson. Fixes: CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 Signed-off-by: Peter Jones <pjones@redhat.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> |
||
---|---|---|
.. | ||
arc | ||
efi | ||
i386/pc | ||
ieee1275 | ||
uboot | ||
xen | ||
AFSplitter.c | ||
ahci.c | ||
ata.c | ||
cryptodisk.c | ||
diskfilter.c | ||
dmraid_nvidia.c | ||
geli.c | ||
host.c | ||
ldm.c | ||
loopback.c | ||
luks.c | ||
luks2.c | ||
lvm.c | ||
mdraid1x_linux.c | ||
mdraid_linux.c | ||
mdraid_linux_be.c | ||
memdisk.c | ||
pata.c | ||
raid5_recover.c | ||
raid6_recover.c | ||
scsi.c | ||
usbms.c |