From 1f326d6ed85e8d19478d19a46395c9c6f04f40d7 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Wed, 17 Apr 2024 14:56:20 -0700 Subject: Add ELF header sanity check --- pk/elf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pk/elf.c b/pk/elf.c index abc78e1..ad52bf6 100644 --- a/pk/elf.c +++ b/pk/elf.c @@ -76,6 +76,8 @@ void load_elf(const char* fn, elf_info* info) panic("not a statically linked ELF program"); } if(ph[i].p_type == PT_LOAD && ph[i].p_memsz) { + if (ph[i].p_filesz > ph[i].p_memsz) + goto fail; uintptr_t prepad = ph[i].p_vaddr % RISCV_PGSIZE; uintptr_t vaddr = ph[i].p_vaddr + bias; if (vaddr + ph[i].p_memsz > info->brk_min) -- cgit v1.1