Vigil@nce - glibc: integer overflow of ld.so
May 2010 by Marc Jacob
This bulletin was written by Vigil@nce : http://vigilance.fr/
SYNTHESIS OF THE VULNERABILITY
An attacker can use a malformed ELF file, to generate an integer
overflow in ld.so, in order to execute code.
Severity: 1/4
Creation date: 12/05/2010
DESCRIPTION OF THE VULNERABILITY
The ld.so program is the linker/loader provided with the glibc. It
is used to load dependencies or to check a program:
/lib/ld-linux.so.2 /bin/ls
/lib/ld-linux.so.2 —verify /bin/ls
/lib/ld-linux.so.2 —list /bin/ls
However, if the loaded program has a malformed ELF header, an
integer overflow occurs in the elf_get_dynamic_info() function of
the ld.so/elf/rtld.c file. This program runs with user privileges,
so this vulnerability does not lead to a privilege elevation.
In order to exploit this vulnerability, a service has for example
to check (—verify/—list) an ELF coming from an untrusted source.
In this case, an attacker can execute code with privileges of the
service.
An attacker can therefore use a malformed ELF file, to generate an
integer overflow in ld.so, in order to execute code.
ACCESS TO THE COMPLETE VIGIL@NCE BULLETIN
http://vigilance.fr/vulnerability/glibc-integer-overflow-of-ld-so-9641