From 1dbd1f760a8e45719ee5bafbcea7a8fbdb702221 Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Tue, 17 May 2016 17:06:14 +0200 Subject: [PATCH] Fix missing validation of program entry points. --- kernel/elf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/elf.cpp b/kernel/elf.cpp index 15a6701c..8bee7c5e 100644 --- a/kernel/elf.cpp +++ b/kernel/elf.cpp @@ -123,7 +123,7 @@ uintptr_t Load(const void* file_ptr, size_t file_size, Auxiliary* aux) if ( header->e_type != ET_EXEC ) return errno = EINVAL, 0; - if ( header->e_entry == 0 ) + if ( header->e_entry < userspace_addr || userspace_end <= header->e_entry ) return errno = EINVAL, 0; if ( file_size < header->e_phoff )