Re: [PATCH] Bug fix to ELF Loader which rejects valid ELFs

From: Matthew Wilcox
Date: Tue Aug 11 2020 - 11:05:22 EST


On Tue, Aug 11, 2020 at 02:44:08PM +0000, Burrow, Ryan - 0553 - MITLL wrote:
> /* Sanity check the number of program headers... */
> - /* ...and their total size. */
> - size = sizeof(struct elf_phdr) * elf_ex->e_phnum;
> - if (size == 0 || size > 65536 || size > ELF_MIN_ALIGN)
> + if (elf_ex->e_phnum == 0 || elf_ex->phnum > 65535)

umm, did you compile-test this?

assuming you meant e_phnum, it's a 16-bit quantity, so it can't be bigger
than 65535.

> goto out;
>
> + size = sizeof(struct elf_phdr) * elf_ex->e_phnum;

use array_size() here?