mirror of
https://git.proxmox.com/git/grub2
synced 2025-11-03 10:50:36 +00:00
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 | ||
| luks2.c | ||
| luks.c | ||
| lvm.c | ||
| mdraid1x_linux.c | ||
| mdraid_linux_be.c | ||
| mdraid_linux.c | ||
| memdisk.c | ||
| pata.c | ||
| raid5_recover.c | ||
| raid6_recover.c | ||
| scsi.c | ||
| usbms.c | ||