Description
The _dl_unsetenv function in loader.c in the ELF ld.so in OpenBSD 3.9 and 4.0 does not properly remove duplicate environment variables, which allows local users to pass dangerous variables such as LD_PRELOAD to loading processes, which might be leveraged to gain privileges.
References
- [3.9] 016: SECURITY FIX: November 19, 2006 vendor-advisory
- http://www.matasano.com/log/592/finger-79tcp-mcdonald-dowd-and-schuh-challenge-part-2/
- 20061123 Re: Lack of environment sanitization in the FreeBSD, OpenBSD, NetBSD dynamic loaders. mailing-list
- 22993 third-party-advisory
- 21188 vdb-entry
- [4.0] 005: SECURITY FIX: November 19, 2006 vendor-advisory
- 20061122 Lack of environment sanitization in the FreeBSD, OpenBSD, NetBSD dynamic loaders. mailing-list
- 1017253 vdb-entry
- openbsd-elf-privilege-escalation(30441) vdb-entry