this post was submitted on 01 Apr 2024
1217 points (99.2% liked)

Linux

47929 readers
1179 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 100 points 7 months ago (14 children)

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

[–] [email protected] 47 points 7 months ago (11 children)

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

[–] [email protected] 66 points 7 months ago* (last edited 7 months ago) (4 children)

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.

[–] [email protected] 27 points 7 months ago (1 children)

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.

[–] [email protected] 13 points 7 months ago (1 children)

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.

[–] [email protected] 9 points 7 months ago

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.

[–] [email protected] 8 points 7 months ago

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.

[–] [email protected] 6 points 7 months ago* (last edited 6 months ago) (3 children)

I am not a security expert, but the scenario they describe sounds exactly like authentication bypass to a layman like me.

According to https://www.youtube.com/watch?v=jqjtNDtbDNI the software installs a malicious library that overwrite the signature verification function of ssh.

I was wondering if the bypass function was designed to be slightly less resource intensive, it probably won't be discovered and will be shipped to production.

Also I have mixed feeling about dynamic linking, on the one hand, it allows projects like harden malloc to easily integrate into the system, on the other hand, it also enables the attacker to hijack the library in a similar fashion.

EDIT: This is a remote code execution exploit, not authentication bypass. The payload is sent as an authentication message and will be executed by the compromised authentication function.

This means:

  • the payload will be executed as root, since sshd run as root.
  • the payload will leave no trace in login log.

So this is much worse than ssh authentication bypass.

[–] [email protected] 6 points 7 months ago* (last edited 7 months ago)

5.6.1 in fact made it less resources-intensive, but the distro happened to not have updated yet when Freund discovered the backdoor.

[–] [email protected] 2 points 7 months ago (1 children)

Authentication bypass should give you interactive access. "I'm in" like. Remote code execution only allows you to run a command, without permanent access. You can use some RCE vulnerabilities to bypass authentication, but not all.

[–] [email protected] 2 points 7 months ago* (last edited 6 months ago)

~~Yeah, but the malicious code replaces the ssh signature verification function to let it allow a specific signature. Hence attacker, with the key, can ssh into any system without proper authentication by ssh.~~

~~This kind of describes authentication by-pass, not just remote code execution...~~

EDIT: it is remote code execution, see the edit of parent comment.

[–] [email protected] 1 points 7 months ago

Here is an alternative Piped link(s):

https://www.piped.video/watch?v=jqjtNDtbDNI

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[–] [email protected] 3 points 7 months ago* (last edited 7 months ago)

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.

load more comments (6 replies)
load more comments (8 replies)