5/8/2026 at 2:59:05 AM
This is barking up the wrong tree.Using IFUNC to patch sshd was kind of elegant, it achieved rootkit like behaviour with a pre-existing mechanism. And sure, it might be possible for a secure daemon like sshd to drop enough privileges that it could protect itself from a malicious dynamically linked library.
But IFUNC was not required, neither was systemd. The game was lost as soon as the attacker had arbitrary code installed in a semi-common library. It doesn't have to get linked directly with sshd, it only needed to be linked into any program running as root, at least one time.
Most programs make zero effort to sandbox themselves, and as soon as one of those links with the malicious library, it could do anything. Like indirectly targeting sshd by patching its binary on disk (optionally hiding it with a rootkit), or using debug APIs to patch sshd in memory.
IFUNC, systemd, and the patched openssh are all irrelevant to the issue, that was simply the route this attacker took to leverage their foothold in libxz. There are thousands of potential routes the attacker could have taken, and we simply can't defend from all of them.
by phire
5/8/2026 at 11:20:29 AM
> Most programs make zero effort to sandbox themselves, and as soon as one of those links with the malicious library, it could do anything. Like indirectly targeting sshd by patching its binary on disk (optionally hiding it with a rootkit), or using debug APIs to patch sshd in memory.I do not understand how you even expected sshd to sandbox itself. Its entire purposes is to (a) daemonize , (b) allow incoming connections in and then (c) forward (possibly-root) shell statements. All 3 things are 100% required for sshd and would have already allowed an attack like this. Any talk about sandboxing here (or dropping privileges) is wishful thinking.
by AshamedCaptain
5/8/2026 at 11:17:57 AM
I recently tried to make something properly sandboxed and, my goodness, we have basically crafted an ecosystem where everything needs access to everything. No wonder docker, despite all it's faults, is how everyone does it. You need an entire linux distro completely accessible in your sandbox.by zaphar
5/8/2026 at 2:18:34 PM
POSIX is a millstone around the neck of the software industry.If you wanted to do something really new in operating systems, you might think "POSIX is insecure" or "POSIX is bloated", etc. If you have a fundamentally different API though you have to write a whole new userspace. You're going to put in a POSIX personality so you can run bash and vim and nethack but once you do that you have the insecurity, bloat, etc.
by PaulHoule
5/8/2026 at 7:06:44 PM
POSIX is backwards in so many ways. It freezes in time the OS innovations of the 70s.by jnwatson
5/9/2026 at 1:56:56 PM
I have a conspiracy theory, unsupported by facts, that Richard Stallman secretly invented POSIX as a way to get the proprietary UNIX vendors to waste time on something whose only value was to make it easier for folks to port their apps to GNUUUUUUUU/Linux.by robertdfrench
5/10/2026 at 2:41:42 PM
Stallman only invented the name “POSIX”, not the standard itself.by teddyh
5/11/2026 at 3:14:56 AM
that's what Big POSIX wants you to think palby robertdfrench
5/8/2026 at 8:57:06 AM
It was not essential to the exploit, but that does not mean it was irrelevant. More commonly used libraries are watched harder. The exploit was made much, much, worse by its indirect use by way of systemd. Approximately nobody wanted that feature and it still went in. That's something we need to be able to discuss.by xorcist
5/8/2026 at 11:18:28 AM
But the fact that it was done indirectly from systemd has nothing to do with IFUNC.by AshamedCaptain
5/8/2026 at 10:15:27 AM
There is always selinux if we want to add protection against arbitrary code running as root. Just because something operate as root does not mean it must have privileged access to everything.by belorn
5/8/2026 at 2:21:02 PM
Ouch! SELinux sorta works for the software which is packed in with the operating system which you may or may not care about. If you want to get that software to do something different or have software that you really care about (like the application server that your web site runs on) controlled by SELinux it is difficult enough that the usual answer is "disable SELinux" or "don't apply it"by PaulHoule
5/8/2026 at 11:59:06 AM
Did anyone look into whether OpenBSD has privilege separated sshd enough for that exploit to not be possible?by cenamus
5/8/2026 at 12:51:02 PM
OpenBSD exposes pledge() and unveil(), which allow programs to only access things they declare they need. So, even if the running SSH process gets exploited, it can't do anything the user it's running as can't do. sshd afaik runs as a root process which after authentication forks into another process, running as the target user.by kristjank
5/8/2026 at 4:30:33 PM
[dead]by robertdfrench