[Bug 2059078] Re: proposed-migration for faketime 0.9.10-2.1ubuntu1
This bug was fixed in the package bash - 5.2.21-2ubuntu4 --- bash (5.2.21-2ubuntu4) noble; urgency=medium * No-change rebuild for CVE-2024-3094 -- Steve Langasek Sun, 31 Mar 2024 08:41:03 + ** Changed in: bash (Ubuntu) Status: New => Fix Released ** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2024-3094 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2059078 Title: proposed-migration for faketime 0.9.10-2.1ubuntu1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/2059078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 2059078] Re: proposed-migration for faketime 0.9.10-2.1ubuntu1
I added an sssd task due to the workaround we had to add to it in https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/2058576 (we don't install faketime). Should faketime be fixed, then we can revert that change in sssd. ** Also affects: sssd (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2059078 Title: proposed-migration for faketime 0.9.10-2.1ubuntu1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/2059078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 2059078] Re: proposed-migration for faketime 0.9.10-2.1ubuntu1
** Changed in: faketime (Ubuntu) Milestone: None => ubuntu-24.04-beta -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2059078 Title: proposed-migration for faketime 0.9.10-2.1ubuntu1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/2059078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 2059078] Re: proposed-migration for faketime 0.9.10-2.1ubuntu1
What now remains to be done is to heavily patch faketime to, when on armhf: 1/ use the proper symbols from glibc (e.g. __clock_gettime64 instead of __clock_gettime) 2/ expose those symbols instead of the legacy 32-bit ones. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2059078 Title: proposed-migration for faketime 0.9.10-2.1ubuntu1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/2059078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 2059078] Re: proposed-migration for faketime 0.9.10-2.1ubuntu1
Oh, hang on. The bash build has apparently been uploaded just a day after the t64 gcc, which means gcc was presumably still building when the bash build started: gcc-13 armhf 13.2.0-13ubuntu1 (from the bash build logs) A bash rebuild should "fix" this somewhat. Well, at least a little bit. ** Also affects: bash (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2059078 Title: proposed-migration for faketime 0.9.10-2.1ubuntu1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/2059078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 2059078] Re: proposed-migration for faketime 0.9.10-2.1ubuntu1
The failure is because bash, for some reason, still links against gettimeofday rather than __gettimeofday64, and calls that to seed its internal random number generator. I still can't figure out why it's using the old version, though. ubuntu@noble-armhf:~$ readelf -W -s a.out | grep timeof # a simple test program that just calls gettimeofday() 9: 0 FUNCGLOBAL DEFAULT UND __gettimeofday64@GLIBC_2.34 (2) 98: 0 FUNCGLOBAL DEFAULT UND __gettimeofday64@GLIBC_2.34 ubuntu@noble-armhf:~$ readelf -W -s /bin/bash | grep timeof 105: 0 FUNCGLOBAL DEFAULT UND gettimeofday@GLIBC_2.4 (2) faketime redefines gettimeofday, except that it uses the timeval definition from glibc which is of course using 64bit time_t. Mayhem ensues. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2059078 Title: proposed-migration for faketime 0.9.10-2.1ubuntu1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/faketime/+bug/2059078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 2059078] Re: proposed-migration for faketime 0.9.10-2.1ubuntu1
Unsurprisingly, there are some symbol differences. # diff -u <(objdump -T /usr/lib/arm-linux-gnueabihf/faketime/libfaketime.so.1 | grep '\.text' | cut -b34- | sort -u) <(objdump -T ./src/libfaketime.so.1 | grep '\.text' | cut -b34- | sort -u)@@ -1,50 +1,51 @@ Base__clock_gettime +Base__clock_gettime64 +Base__clock_nanosleep_time64 +Base__fstat64_time64 Base__ftime +Base__futimens64 Base__fxstat Base__fxstat64 Base__fxstatat Base__fxstatat64 Base__gettimeofday +Base__lstat64_time64 Base__lxstat Base__lxstat64 +Base__nanosleep64 +Base__ppoll64 +Base__pselect64 +Base__select64 +Base__sem_timedwait64 +Base__stat64_time64 Base__time +Base__time64 +Base__timerfd_gettime64 +Base__timerfd_settime64 +Base__timespec_get64 +Base__utimensat64 Base__xstat Base__xstat64 Basealarm -Baseclock_gettime -Baseclock_nanosleep Baseepoll_pwait Baseepoll_wait -Basefstat Baseftime -Basefutimens Basegetentropy Basegetpid Basegetrandom Basegettimeofday Baselock_for_stat -Baselstat -Basenanosleep Baseneeds_forced_monotonic_fix Basepoll -Baseppoll -Basepselect Basepthread_cond_destroy Basepthread_cond_init Basepthread_cond_timedwait Baseread_config_file -Baseselect -Basesem_timedwait Basesleep -Basestat -Basetime -Basetimerfd_gettime -Basetimerfd_settime -Basetimespec_get +Basestatx Baseunlock_for_stat Baseusleep Baseutime -Baseutimensat Baseutimes GLIBC_2.2) timer_gettime GLIBC_2.2) timer_settime # One or more of these functions may be broken under TIME_BITS=64. But we don't get far enough to figure that out? ** Tags added: time-t -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2059078 Title: proposed-migration for faketime 0.9.10-2.1ubuntu1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/faketime/+bug/2059078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 2059078] Re: proposed-migration for faketime 0.9.10-2.1ubuntu1
** Description changed: - faketime 0.9.10-2.1ubuntu1 is stuck in -proposed. + faketime 0.9.10-2.1ubuntu1 is stuck in -proposed with build failures on + armhf. + + On armhf, the testsuite confusingly fails with a stack smash error. But + this error happens in bash, which isn't even meant to be the process + under test. + + Minimal reproducer: + # LD_PRELOAD=./src/libfaketime.so.1 bash -c 'exit 0' + *** stack smashing detected ***: terminated + Aborted (core dumped) + # + + Confusingly, ltrace shows different results for the newly-built binary + than from one built without 64-bit time_t. + + # LD_PRELOAD=./src/libfaketime.so.1 ltrace --library '*faketime*' bash -c 'exit 0' + bash->getrandom(0x1f3bf08, 1, 0x9683b0, 0) = 0xc8202 + bash->getrandom(0xc8203, 0xf7fad53c, 1023, 0xf7eef801) = 0xc8202 + *** stack smashing detected ***: terminated + --- SIGABRT (Aborted) --- + +++ killed by SIGABRT +++ + # LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/faketime/libfaketime.so.1 ltrace --library '*faketime*' bash -c 'exit 0' + bash->gettimeofday(0x8b07a0, 0) = 0 + bash->getpid() = 819717 + bash->gettimeofday(0xffb88714, 0)= 0 + bash->getpid() = 819717 + bash->gettimeofday(0xffb8871c, 0)= 0 + bash->getpid() = 819717 + +++ exited (status 0) +++ + # + + Unsetting -DFAKE_RANDOM in debian/rules does not fix the problem + however. + + So simply loading the LD_PRELOAD library without executing it seems to + be enough to break bash. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2059078 Title: proposed-migration for faketime 0.9.10-2.1ubuntu1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/faketime/+bug/2059078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs