this post was submitted on 31 Mar 2024
93 points (97.9% liked)

No Stupid Questions

35922 readers
1392 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS
 

My mastodon feed is full of IT security specialist talking about the xz affair where someone let a backdoor in some library.

But beside showing the two side of Free/Libre software (anybody can add a backdoor, and anybody can spot it), I have no idea how it impacts the average person. Is it a common library or something used only by specific application ? Would my home-grade router protects me ?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 22 points 8 months ago (1 children)

Quick summary:

  • only impacts Debian and Linux distributions that utilize RPM for packages
  • only impacts cases where liblzma is compiled from a tarball, rather than cloned source repository or precompiled binary
  • only impacts x64 architecture
  • introduced in liblzma 5.6.0 which was released in late February so only impacts installs receiving updates to liblzma since then

liblzma is a library for the lzma compression format. Loosely, this means it's used by various other pieces of software that need this type of compression, rather than being an application itself.

It is very widely used. It comes installed on most major Linux distributions and is used by software like openssh, one of the standard remote connection packages.

However, since it was only in the tarball, you wouldn't see it widely until debian, fedora, et al release a new version that includes the latest liblzma updates. This version hadn't been added to any of the stable release channels yet, so the typical user wouldn't have gotten it yet.

I believe this would have gone out in debian 12.6 next week, and the attacker was actively petitioning fedora maintainers to get it added to fedora 40 & 41

The interesting thing about this situation was how much effort the attacker put in to gain trust just to get to the point where they could do this, and how targeted the vulnerability seems to have been. They tried very hard to reduce the likelihood of being caught by only hitting a limited set of configurations

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

I'm still confused exactly what the circumstances would be where this worked as the attacker intended. Would simply having the infected liblzma version on the system create the vulnerability or does something have to happen to invoke it and then what? What's he chain of events that would have happened had this worked perfectly and gone undetected? I tried to read some of the more detailed analysis but the stuff went way over my head.

Also, what about Mac OS? Can the package create any vulnerability there if installed via homebrew as it's reported to have done in some cases? Or is that environment also not right for it to work?

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

Here's how it was intended to work:

  • debian, fedora, or another RPM-based distribution updates references to liblzma to 5.6.x in their latest release
  • the package repository is updated (usually through automation) by getting the infected tarball and compiling it into an RPM or DEB which is added to the repo
  • if the package is built using glibc and the gnu linker, and for a system that uses systemd, the exploit is enabled during compilation of the x86-64 version of the package; otherwise the result is normal
  • when an application is installed that depends on liblzma, possibly during OS installation itself, the infected RPM/DEB package from the package repository is downloaded and installed (assuming the system matches the requirements above)
  • in this particular case, OpenSSH was the primary target; if the attacker wanted to, it could have targeted any web-facing service that uses liblzma such as OpenSSL + Apache/nginx, etc
  • when the OpenSSH server is started on an infected system, it loads the infected liblzma binary
  • the attacker starts an SSH connection to the infected server, having already known about the server or by scanning the internet for visible ssh servers
  • during creation of the SSH connection, the user has the option of trying to sign in using an RSA key. The attacker uses a specially formed RSA key only available to the attacker that also contains a chunk of code (the "payload") that they want executed on the server
  • liblzma is utilized to compress data in transit; when the infected liblzma decompresses the RSA key on the server, the exploit recognizes the attacker's special RSA key and executes the payload on the host system. Otherwise, the ssh session continues as normal

This would not impact MacOS because you couldnt install the infected package, since it is only ever built for debian or RPM-based systems running systemd, using glibc and the gnu linker, and for x86-64. Unless I'm misunderstanding something, there is no way to get the compiled binaries that are infected to work on a MacOS system

Additionally, I should note that I'm not exactly an expert on this stuff; I'm just in the security space and have been reading about this as it happens, so it's possible there are errors in my understanding. But that should at least give you the gist of the attack

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

Thank you! I believe this is what the OP was asking, and it's definitely what I wanted to know :)

Do we know what the payload is?

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

Arbitrary. It could be whatever they wanted at any time. This was a full on remote code execution (RCE) exploit. And baking it into an RSA key is pretty novel

And you're welcome :)