REDHAT-BUG-560547: Medium severity red hat linux vulnerability
Description of problem: The problem seams to be located in fs/binfmtelf.c:loadelfbinary(). It calls SETPERSONALITY() prior checking that the ELF interpreter is available. This in turn makes the previously 32 bit process a 64 bit one which would be fine if execve() would succeed. But after the SETPERSONALITY() the openexec() call fails (because it cannot find the interpreter) and execve() almost instantly returns with an error. If you now look at /proc/PID/maps you'll see, that it has the vsyscall page mapped which shouldn't be. But the process is not dead yet, it's still running. By now generating a segmentation fault and in turn trying to generate a core dump the kernel just dies.
Steps to Reproduce: 1. Enable core dumps 2. Start an 32 bit program that tries to execve() an 64 bit program 3. The 64 bit program cannot be started by the kernel because it can't find the interpreter, i.e. execve returns with an error 4. Generate a segmentation fault 5. panic
(EDIT: This is triggerable on 2.6.31.9-174.fc12.x8664).
Upstream commit: http://git.kernel.org/linus/221af7f87b97431e3ee21ce4b0e77d5411cf1549
Discussions: http://marc.info/?t=126466700200002&r=1&w=2
Acknowledgements:
Red Hat would like to thank Mathias Krause for reporting this issue.
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-560547?
The severity of REDHAT-BUG-560547 is considered to be high due to potential execution issues with ELF binaries.
How do I fix REDHAT-BUG-560547?
To fix REDHAT-BUG-560547, ensure that the appropriate ELF interpreter is available before executing binaries.
What systems are impacted by REDHAT-BUG-560547?
REDHAT-BUG-560547 affects the Red Hat Linux Kernel, particularly in the handling of ELF binaries.
What symptoms indicate REDHAT-BUG-560547 is present?
Symptoms of REDHAT-BUG-560547 may include failed executions of 32-bit processes when attempting to run 64-bit ELF binaries.
Is there a workaround for REDHAT-BUG-560547?
A potential workaround for REDHAT-BUG-560547 is to manually verify the availability of ELF interpreters before running related binaries.