Some versions of ld.so, the loader for shared libraries in UNIX/LINUX, do not properly clear risky environment variables, allowing a symlink attack to overwrite arbitrary files.
LD_DEBUG_OUTPUT specifies a directory in which ld.so creates a file with a predictable name based on the process ID. ld.so uses this file to store debugging information. The current version of ld.so does not unset the environment variable LD_DEBUG_OUTPUT prior to calling setuid root programs. Even though setuid root programs are forced to ignore the LD_DEBUG_OUTPUT variable, output would be generated there by programs called from setuid root programs.
By setting up appropriate symlinks, a malicious user could cause arbitrary files to be overwritten with debugging information.
Pending patch information by the vendor, CERT/CC is unaware of a practical solution to this problem.
The original report of this vulnerabilty was by Jakub Vlasek .
This document was last modifed by Tim Shimeall.
|Date First Published:||2001-07-24|
|Date Last Updated:||2001-07-31 16:29 UTC|