Is xz 5.6.1-3+ still dangerous?

GolfNovemberUniform@lemmy.ml to Linux@lemmy.ml – 67 points –

When the xz backdoor was discovered, I quickly uninstalled my Arch based setup with an infected version of the software and switched to a distro that shipped an older version (5.5 or 5.4 or something). I found an article which said that in 5.6.1-3 the backdoor was "fixed" by just not letting the malware part communicating with the vulnerable ssh related stuff and the actual malware is still there? (I didn't understand 80% of the technical terms and abbreviations in it ok?) Like it still sounds kinda dangerous to me, especially since many experts say that we don't know the other ways this malware can use (except for the ssh supply chain) yet. Is it true? Should I stick with the new distro for now or can I absolutely safely switch back and finally say that I use Arch btw again?

P. S. I do know that nothing is completely safe. Here I'm asking just about xz and libxzlk or whatever the name of that library is

EDIT: 69 upvotes. Nice

53

Arch wasn't affected at all, cause the backdoor trigger was only on deb and rpm distros.

However it still a good practice to update your system and leave this version behind. Anyway, Arch already updated and is no longer distributing the backdoor version, therefore 5.6.1-3 is safe

You can use Arch btw again. Actually, you never had to leave it at first

To add to your point: The .deb ones are most likely safe, since it would only be on the unstable & experimental branches. Your garden variety production servers & personal computers should be fine. That is unless you're into some unusual setup like with playing around with the upcoming version, or for some reason are pulling your own xz build.

Can't speak for the .rpm tho.

Fedora 39 and 40 (which is still in beta) uses xz 5.4. Fedora 41/rawhide (essentially the development branch) was affected it seems: https://access.redhat.com/security/cve/CVE-2024-3094. CentOS Stream and RHEL have way more outdated packages than that, so they were never vulnerable to this backdoor.

openSUSE Tumbleweed (their rolling release) was affected: https://news.opensuse.org/2024/03/29/xz-backdoor/, Enterprise or Leap were unaffected.

Ah, so the .rpm is pretty much like the .deb in that it's mostly unaffected. Speaking of, I think the .deb side may have VanillaOS affected since it's based on Debian's unstable branch.

Yeah, I checked myself when this was first a thing. Debian 12 and Ubuntu 22.04 latest are on 5.4 and 5.2 respectively.

Yeah, all the current LTSes should be safe. Not sure about the Ubuntu 23.10, but the next LTS (24.04) is confirmed to be affected, hence the delay.

Not quite. It wasn't confirmed to be affected, but they can't prove that the build environment itself wasn't compromised, thus the rebuild.

As a result of CVE-2024-3094 332, Canonical made the decision to remove and rebuild all binary packages that had been built for Noble Numbat after the CVE-2024-3094 332 code was committed to xz-utils (February 26th), on newly provisioned build environments. This provides us with confidence that no binary in our builds could have been affected by this emerging threat.

https://discourse.ubuntu.com/t/noble-numbat-beta-delayed-xz-liblzma-security-update/43827

And in the follow-up:

Was the vulnerable library ever in the Ubuntu 24.04 LTS (Noble Numbat) daily builds?

No.  

https://discourse.ubuntu.com/t/xz-liblzma-security-update-post-2/43801

"Safe" is a strong word to use. It's safe from that specific backdoor, and it seems like the known backdoor was the main goal of the attackers, but we don't know if they're playing 4D-Chess and have already implemented another backdoor which they're actively using.

I see what you did there.

What I did there? o.O

I don't even know

Oh, I thought the "You can use Arch btw again." is a play on the "I use Arch, BTW."-meme. :D It's even better, because this was not intentional I guess.

Ah! Okay...

Well, it was intentionally xD

But I didn't thought it would be a funny pun hahaha

Anyway, I did it mostly because the OP also did

I see. But yours was a little bit more sneaky. And I loved it.

I know that Arch wasn't affected but it's only true for the known ssh backdoor. Afaik that thing can contain 100+ more "viruses" in it that we don't yet know about. And btw I was using a distro that was quite a bit different to Arch (no, not Manjaro) so idk if it was any safer than Debian sid

Well, until someone find a new backdoor, I call it safe again

I'll not lose my mental health to a potentially and unknown shady backdoor that could be installed or not in a lib

Well, I have a polar opposite opinion about that lol. I guess I should stick with the old version

What about all the unknown back doors in the old versions 👻

If you worry about potential other backdoors in newer XZ versions, then you should also look into your kernel, systemd, dbus etc etc. All these things, can potentially contain backdoors that no one knows about yet.

As for currently known backdoors, the Arch versions are safe.

Of course backdoors can be anywhere. I was worried about this one especially because somewhere I read that the malicious code wasn't removed but just restricted with some hacky stuff in 5.6.1-3. It turned out to be false, at least for Arch, so, in case the new information is true, I can switch back I guess. Using a "safe" version of Arch is better than running all the apps as Flatpaks that can still have the infected version of xz libraries as dependencied anyways

Well, I guess u have your answer, tho

The important thing here is to feel good with your decision

So you need to downgrade to even earlier version. Best of all, use a fork created by Joey Hess.

Does that require compiling Arch from source to avoid compatibility issues?

I don't know for sure, it depends on changes in the liblzma API. If there were any changes (backward compatible or not, usually nobody cares about forward compatibility), yes, recompiling is required.

This is the reason I keep an OpenBSD system around. Maybe it's a false sense of security, but I feel that they are pickier about the base system at least.

I have a question. Does BSD support any universal package formats?

Afaik, no. Worth mentioning is that the fundamental design of the major BSDs is to clearly separate the core OS from third party applications. But as far as just being able to use Flathub or similar, I don't think so. If any BSD has experimented in that direction my bet would be FreeBSD.

I can't use it then. I need some apps that are definitely not available natively on BSD. Thank you for the information though

No worries :) Just out of curiosity, which software?

Unfortunately telling about the software will greatly simplify my identification so I can't do it

Well, we don’t really know if there are backdoors in the old version as well, applying your logic

I meant a little bit different thing. Someone already explained how the issue was fixed and it seems safe enough to me

TL;DR: starting with 5.6.1-2, XZ is safe on Arch. Safe as in not affected by this particular vulnerability.

Look here: https://gitlab.archlinux.org/archlinux/packaging/packages/xz/-/commit/881385757abdc39d3cfea1c3e34ec09f637424ad

And here: https://security.archlinux.org/ASA-202403-1

5.6.1-2 is where the package switched from building from the tarball (backdoored) to the upstream git repo (clean). The tarball release contained some extra build instructions (which didn't exist in the git repo) that added the backdoor during the build process. The issue arose from the downstream maintainers' assumption that the contents of the tarball and the git repo were identical.

Subsequent changes, and 5.6.1-3, were mostly administrative, like changing the git repository's URL (since the maintainer's github account was banned) and locking out Jia Tan's PGP key.

an article which said that in 5.6.1-3 the backdoor was “fixed” by just not letting the malware part communicating with the vulnerable ssh related stuff

That article is bullshit, don't believe a thing it says. Arch was not affected by the SSH vulnerability because the sshd binary did not link liblzma where the backdoor existed, so they could never communicate in a way that could be exploited by this particular vulnerability. It was not part of the fix.

5.6.1-2 is where the package switched from building from the tarball (backdoored) to the upstream git repo (clean)

This is what I was looking for. Though if 5.6.1-2 doesn't contain the backdoor, why is it listed as the last version that does contain it everywhere?

why is it listed as the last version that does contain it everywhere?

I don't know, but the official advisory is most likely to be correct. Everything else is a game of Chinese whispers where the information becomes less reliable the more it is passed on. Maybe it's because -2 still had Jia Tan's signing key, and could have, theoretically, accepted commits signed by them.

Where is it listed as such? Can you give examples?

Hmm I looked it up and I'm either searching it wrong or it seems like the articles were edited and the stuff about 5.6.1-2 being infected is deleted. I think you're right about the keys. That could be the reason for yellow press to exaggerate the problem

The back door was crafted to be used by a very specific encryption key. You are are vulnerable if the attackers are specifically targeting you. If you are a tangent of a nation, you should be worried:)

Well idk what "a tangent of a nation" means but I have political opinions very different to what my nation wants me to have so it might actually be a problem for me

What they mean is if you are a affiliated with a national government. You might also be a target if you are very very rich.

If you're an average Joe, they probably won't burn it on you.

It's already burned by being discovered.

And, never underestimate the utility of a large botnet.

He could be an average Joe who works in the IT department of a company a national government would be interested in.

I mean, appears a country is responsible for the attack after 2 years of preparation. If they don't like you, probably was easy to send someone knock your door instead. Relax :)

When i first heard of xz backdoor, i updated my arch system and the xz-utils package to 5.6.1-3 which in the version numbers seems to be a patch, and it seems to be, so think you're safe from now

Do you host anything on your network to tne internet that allows anyone ssh access to your computers? More simply do you have port 22 open on your router or firewall? If you don't or said no, then don't worry about it.

ssh was installed because it's needed by one of the GNOME's components (the keyring I think). ssdh was disabled the last time I looked at it though. But my router highly unfortunately uses stock proprietary firmware because I couldn't get OpenWRT working on it. That thing can have all the ports opened lol