A backdoor in xz (current versions are impacted)

brie@beehaw.org to Free and Open Source Software@beehaw.org – 179 points –
lwn.net

TL;DR: Update immediately, especially if SSH is enabled. xz versions 5.6.0 & 5.6.1 are impacted. The article contains links to each distro's specific instructions of what to do.

https://news.opensuse.org/2024/03/29/xz-backdoor/

Current research indicates that the backdoor is active in the SSH Daemon, allowing malicious actors to access systems where SSH is exposed to the internet.

In summary, the conditions for exploitation seem to be:

  • xz version 5.6.0 or 5.6.1
  • SSH with a patch that causes xz to be loaded
  • SSH daemon enabled

Impact on distros

  • Arch Linux: Backdoor was present, but shouldn't be able to activate. Updating is still strongly recommended.

  • Debian: Testing, Unstable, and Experimental are affected (update to xz-utils version 5.6.1+really5.4.5-1). Stable is not affected.

  • Fedora: 41 is affected and should not be used. Fedora 40 may be affected (check the version of xz). Fedora 39 is not affected.

  • FreeBSD: Not affected.

  • Kali: Affected.

  • NixOS: NixOS unstable has the backdoor, but it should not be able to activate. NixOS stable is not affected.

  • OpenSUSE: Tumbleweed and MicroOS are affected. Update to liblzma5 version 5.6.1.revertto5.4. Leap is not affected.

CVE-2024-3094

15

Why ssh? Does ssh use xz?

Ssh uses systemd and systemd uses lzma (xz)

Yes. ssh's RSA encryption uses liblzm.

This analysis has some technical information on how it injects itself, conditionally, into deb and rpm from src tar.

Holy c... that's quite a writeup, and what a rat's nest of an exploit. A long time ago, I used to know some reverse engineering, then I got an eval $zrKcTy to the got.plt.

Wonder what it turns out to have been doing.

Im new to Linux does this include linux mint since it is based on Debian?

Likely not since most of these are dev or experimental of the latest version.

Check xz --version

If you're not on the two listed above you're fine.

As far as I can tell running xz directly should be fine, but for the extra paranoid check the version of the xz-utils package. If it is safe, it will be either less than 5.6.0, or it should be 5.6.1+really5.4.5-1 (xz 5.4.5 with a spoof version number to ensure compromised systems get the update).

awesome thanks I did (xz --version) to check and it is using an unaffected version.

WSL2 2.1.5:

  • (system) CBL-Mariner / Azure Linux: xz-libs 5.2.5-1.cm2
  • Ubuntu 22.04.4 LTS: xz-utils 5.2.5-2ubuntu1
  • Kali (rolling): Same fix as for Debian Testing (update to xz-utils version 5.6.1+really5.4.5-1)