MDKSA-2001:012

Problem description

The LD_PRELOAD variable in the GNU C Library is honoured normally
even for SUID/SGID applications (but removed afterwards from the
environment) if it does not contain '/' characters. There is a
special check which only preloads found libraries if they have the
SUID bit set. However, if a library has been found in
/etc/ld.so.cache, this check was not performed. As a result, a
malicious user could preload some library located in /lib or /usr/lib
before SUID/SGID applications and create or overwrite a file he would
not normally have permission to. As well, LD_PROFILE output from SUID
programs would go into /var/tmp, making it vulnerable to various link
attacks.