XZ backdoor in a nutshell

Possibly linux@lemmy.zip to Linux@lemmy.ml – 1211 points –
160

You are viewing a single comment

This is informative, but unfortunately it doesn't explain how the actual payload works - how does it compromise SSH exactly?

It allows a patched SSH client to bypass SSH authentication and gain access to a compromised computer

From what I've heard so far, it's NOT an authentication bypass, but a gated remote code execution.

There's some discussion on that here: https://bsky.app/profile/filippo.abyssdomain.expert/post/3kowjkx2njy2b

But it would be nice to have a similar digram like OP's to understand how exactly it does the RCE and implements the SSH backdoor. If we understand how, maybe we can take measures to prevent similar exploits in the future.

I think ideas about prevention should be more concerned with the social engineering aspect of this attack. The code itself is certainly cleverly hidden, but any bad actor who gains the kind of access as Jia did could likely pull off something similar without duplicating their specific method or technique.

Ideally you need a double-blind checking mechanism definitionally impervious to social engineering.

That may be possible in larger projects but I doubt you can do much in where you have very few maintainers.

I bet the lesson here for future attackers is: do not affect start-up time.

I imagine if this attacker wasn't in a rush to get the backdoor into the upcoming Debian and Fedora stable releases he would have been able to notice and correct the increased CPU usage tell and remain undetected.

Somebody wrote a PoC for it: https://github.com/amlweems/xzbot#backdoor-demo

Basically, if you have a patched SSH client with the right ED448 key you can have the gigged sshd on the other side run whatever commands you want. The demo just does id > /tmp/.xz but it could be whatever command you want.

Under the right circumstances this interference could potentially enable a malicious actor to break sshd authentication and gain unauthorized access to the entire system remotely. —Wikipedia, sourced to RedHat

Of course, the authentication bypass allows remote code execution.

5 more...
5 more...

There is RedHat's patch for OpenSSH that adds something for systemd, which adds libsystemd as dependency, which has liblzma as its own dependency.

5 more...