Commit 5a62d340 authored by Suresh Siddha's avatar Suresh Siddha Committed by Chris Wright

[PATCH] x86_64: Check for bad elf entry address (CVE-2006-0741)

Fixes a local DOS on Intel systems that lead to an endless
recursive fault.  AMD machines don't seem to be affected.
Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
parent 94069fb3
...@@ -932,6 +932,11 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) ...@@ -932,6 +932,11 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs)
kfree(elf_interpreter); kfree(elf_interpreter);
} else { } else {
elf_entry = loc->elf_ex.e_entry; elf_entry = loc->elf_ex.e_entry;
if (BAD_ADDR(elf_entry)) {
send_sig(SIGSEGV, current, 0);
retval = -ENOEXEC; /* Nobody gets to see this, but.. */
goto out_free_dentry;
}
} }
kfree(elf_phdata); kfree(elf_phdata);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment