[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#98467: ld.so not ignoring LD_PRELOAD on seduid binaries?



OK, got it.


The following appears to work:

LD_LIBRARY_PATH=usr/lib/libfakeroot:/usr/lib/64/libfakeroot
LD_PRELOAD=libfakeroot.so.0


/usr/lib/libfakeroot.so               #_Fake_ fakeroot, that doesn't
                                      # wrap anything, but with 
                                      # setuid bit set.
/usr/lib/libfakeroot/libfakeroot.so   #`normal' version
/usr/lib/64/libfakeroot/ibfakeroot.so #64-bit version

muso:~/$ fakeroot
# ldd /bin/ls | grep fake
        libfakeroot.so.0 => /usr/lib/libfakeroot/libfakeroot.so.0 (0x40017000)
# ldd /bin/su | grep fake
        libfakeroot.so.0 => /usr/lib/libfakeroot.so.0 (0x40017000)

It's a bit ugly to have a setuid libfakeroot.so in /usr/lib, but
apparently that's what it takes. Any other directory, and ld.so
refuses to load setuid binaries (even directories in /etc/ld.so.conf,
also after running ldconfig).

Unless people object, I'll upload a fixed version somewhere next week.

Thanks,
-- 
joostje



Reply to: