-
Notifications
You must be signed in to change notification settings - Fork 0
Conversation
Attempted install on a test system made bee abort during install and resulted in an unusable system where no external command could be executed. First problem: Recovered via |
55fb70b
to
6d560c8
Compare
In former versions the file ld-linux-x86-64.so.2 in /lib64 was a symlink and therefore could be removed. Now it is the real shared object and should be kept or rather moved to /lib.
6d560c8
to
f590df8
Compare
locale should be rebuild if glibc is rebuild. As yet, we have to different bee-files (glibc.be0, glibc-locale.be0). After talking to Donald I decided to put that into this bee-file and remove the other because it has the advantage of beeing explicit and you cannot forget to do it. Also the version numbers indicated a link between these.
Warning: Not all programs which were compiled on a new glibc system can be run on an old glibc system. I compiled my terminal (st) on inbetweenmove (glibc 2.36) and couldn't start it on machdoch (glibc 2.33).
|
I've rebuild the glibc-2.36-0.x86_64 package. I've removed glibc-locales-2.33-0.x86_64 and force-installed glibc-2.36-0.x86_64 on inbetweenmove, |
(Debian sid/unstable just upgraded libc6 to 2.35-1, and the change-log mentions Bug 17645 - RFE: Improve performance of dynamic loader for deeply nested DSO dependencies. from 2014 (glibc-2.11) is fixed in that version. Hopefully it decreases the load time of some applications.) @niclas, any help needed? |
Set okeanos to |
Also now |
(on wtf) :
"change password" web interface not working currently. Guess, this is from glibc update and would be bad on the imap server, too |
Also affects cron: |
|
|
okeanos (update glibc 27.9. 10:00) :
So the good thing is, that one segfault stopped with the update. But another single one appeared after the update. The IP is in _nss_files_parse_pwent. |
@donald since the currently installed Linux-PAM-version is 4 years old we could try if updating it, solves that issue. I made a pull request for that update, so you can test it. |
But I suspect, that the pam_unix.so (from the glibc-2.36-0 bee package) is incompatible with libc.so (from the glibc-2.33-0 bee package, locked into memory of several processes). Although pam.so does the logic and dlopen()s pam_unix.so, I don't see, what it could do about it. |
Hmm, to avoid some confusion pam_unix.so is part of Linux-PAM, no deal in the glibc. But I also doubt that just updating Linux-PAM wil resolve the issue, but I would give it a try. My proposal would be to rebuild Linux-PAM against an installed glibc-2.36, and then update/distribute the both of them. |
Oh, right,. I was confused. Its not pam_unix.so which lives in the glibc package, but libnsl.so.1, which is required by pam_unix.so. The result is the same, though. pam_unix.so can't be loaded, because libnsl.so.1 from the new glibc package is incompatible to the old glibc library in memory. And libnsl (getpwent etc.) itself dlopens() the plugings in /lib/libnss, e.g. /usr/lib/libnss_files-2.33.so, which also is from glibc. We might problems even without Linux PAM involved. Maybe this is the cause of the _nss_files_parse_pwent segfault mentioned above. |
That might have helped, because pam_unix.so from a build of that version references libnsl.so.2 from the libnsl-1.3.0-1.x86_64 package instead of libnsl.so.1 from the glibc package. So it looked like it broke the circular loop. However, a running saslauth which already was used, has /usr/lib/libpam.so.0.84.2 in its memory. If Linux-PAM is updated, the new pam_unix.so is incompatible with the old libpam.so in memory.
What a mess. |
Both were fixed in glibc 2.35. From Debian’s security tracker: CVE-2022-23218The deprecated compatibility function svcunix_create in the sunrpc module of the GNU C Library (aka glibc) through 2.34 copies its path argument on the stack without validating its length, which may result in a buffer overflow, potentially resulting in a denial of service or (if an application is not built with a stack protector enabled) arbitrary code execution. CVE-2022-23219The deprecated compatibility function clnt_create in the sunrpc module of the GNU C Library (aka glibc) through 2.34 copies its hostname argument on the stack without validating its length, which may result in a buffer overflow, potentially resulting in a denial of service or (if an application is not built with a stack protector enabled) arbitrary code execution. |
Userspace code can crash its userspace process, it doesn't even need a buffer overflow in glibc for that. Do these two bugs have any meaning for us? Is any code using these calls with strings from another security domain? |
To be installed on mx64/deinemuddah, not on mx64old/deineommah |
No description provided.