On 2025/07/23 09:24:09 -0400, Chet Ramey wrote: > On 7/23/25 9:06 AM, Dr. Werner Fink wrote: > > On 2025/07/23 14:53:23 +0200, Dr. Werner Fink wrote: > > > > > > The problem is the LD_PRELOAD use in the libssh test suite > > > > > > with HAVE_SETRESUID and HAVE_SETRESGID enabled the call > > > > > > LD_PRELOAD=/usr/lib64/libsocket_wrapper.so:/usr/lib64/libnss_wrapper.so:/usr/lib64/libuid_wrapper.so:/usr/lib64/libpam_wrapper.so:/home/abuild/rpmbuild/BUILD/libssh-test-0.11.2-build/libssh-0.11.2/build/lib/libchroot_wrapper.so:/home/abuild/rpmbuild/BUILD/libssh-test-0.11.2-build/libssh-0.11.2/build/lib/libfs_wrapper.so > > > ./bash > > > Segmentation fault (core dumped) > > > LD_PRELOAD=/usr/lib64/libsocket_wrapper.so:/usr/lib64/libnss_wrapper.so:/usr/lib64/libuid_wrapper.so:/usr/lib64/libpam_wrapper.so:/home/abuild/rpmbuild/BUILD/libssh-test-0.11.2-build/libssh-0.11.2/build/lib/libchroot_wrapper.so:/home/abuild/rpmbuild/BUILD/libssh-test-0.11.2-build/libssh-0.11.2/build/lib/libfs_wrapper.so > > > ./bash > > > > > > does segfault whereas HAVE_SETRESUID and HAVE_SETRESGID disabled > > > > > > LD_PRELOAD=/usr/lib64/libsocket_wrapper.so:/usr/lib64/libnss_wrapper.so:/usr/lib64/libuid_wrapper.so:/usr/lib64/libpam_wrapper.so:/home/abuild/rpmbuild/BUILD/libssh-test-0.11.2-build/libssh-0.11.2/build/lib/libchroot_wrapper.so:/home/abuild/rpmbuild/BUILD/libssh-test-0.11.2-build/libssh-0.11.2/build/lib/libfs_wrapper.so > > > strace -s 4096 -o log ./bash > > > abuild@noether:/mnt> > > > > > > it works > > > > Can be reduced to > > > > LD_PRELOAD=/usr/lib64/libuid_wrapper.so ./bash > > So running a version of bash configured to use a working version of > setresuid/setresgid from libc breaks (or finds a bug in) libuid_wrapper > by calling those functions. > > Well, maybe you want to configure bash using the same wrapper library.
Correct configured it seems to work
abuild@noether:/mnt> LD_PRELOAD=/usr/lib64/libuid_wrapper.so ./bash
Segmentation fault (core dumped)
LD_PRELOAD=/usr/lib64/libuid_wrapper.so ./bash
abuild@noether:/mnt> UID_WRAPPER=1 UID_WRAPPER_ROOT=1
LD_PRELOAD=/usr/lib64/libuid_wrapper.so ./bash
noether:mnt # touch /root/x
touch: cannot touch '/root/x': Permission denied
it fakes root but is not root (I guess this faked root is for e.g. the test
suite of libssh)
Werner
--
"Having a smoking section in a restaurant is like having
a peeing section in a swimming pool." -- Edward Burr
signature.asc
Description: PGP signature
