Sicherheitslücke in xz: Backdoor in Linux-Archivbibliothek macht Systeme angreifbar

Marek Lindlein
242 Kommentare
Sicherheitslücke in xz: Backdoor in Linux-Archivbibliothek macht Systeme angreifbar
Bild: Larry Ewing, Simon Budig, Garrett LeSage, The GIMP, Debian, A. Merchel | CC BY-SA 3.0

Durch jahrelange Vorarbeit ist es Angreifern gelungen, den Quellcode der Kompressions­software xz zu kompromittieren. Gezielt eingereichte Patches schufen Sicherheitslücken und diese wurden proaktiv in aktuelle Linux-Distributionen eingepflegt. Zum Update auf ein bereinigtes Paket wird dringend geraten.

Was bislang bekannt ist

Als CVE-2024-3094 wird die jüngst im Upstream des Pack-Programms xz entdeckte Lücke bezeichnet. Dabei wird beim Build-Prozess der Bibliothek liblzma eine im Quellcode hinterlegte Testdatei extrahiert, aus der eine vorgefertigte Objektdatei Funktionen innerhalb des liblzma-Codes ändert. Als Folge kann die modifizierte liblzma-Bibliothek Daten-Interaktionen abfangen – und zwar von jeder Software, die gegen diese Bibliothek gelinkt ist.

So warnt Red Hat, dass beispielsweise systemd gegen die liblzma-Bibliothek verlinkt ist, welches wiederum mit OpenSSH kommuniziert. Durch das Abfangen der Daten-Interaktionen kann das Authentifizierungs-Verfahren an den Schadcode umgeleitet und umgangen werden, was direkte Zugriffe auf das System ermöglicht.

Die Entdeckung geht auf Andres Freund zurück, welcher in den vorangegangen Wochen seltsames Verhalten in Debian-Installationen entdeckt hatte. Dabei verursachten SSH-Logins unter anderem eine Menge CPU-Last.

Betroffene Systeme und Versionen

Die Verwundbarkeit ergibt sich durch das Zusammenspiel folgender Parameter:

  • xz in Version 5.6.0 oder 5.6.1
  • Distribution mit glibc
  • Besonders .deb- und .rpm-Distributionen sind betroffen

Updates sind dringend angeraten. Die amerikanische CISA (Cybersecurity & Infrastructure Security Agency) empfiehlt ein Downgrade zu Version 5.4.6.

Arch-Nutzer sollen das Update auf 5.6.1-2 ausführen.

In Debian und weiteren Distributionen ist openssh mit der Unterstützung für systemd notifications gepatcht, welches wiederum liblzma nutzt. Dieser Angriffsvektor ist unter Arch Linux nicht gegeben. Ob das eigene System akut betroffen ist, lässt sich über den Befehl „ldd "$(command -v sshd)“ prüfen. Die Ausgabe zeigt eine eventuell vorhandene Verlinkung zu liblzma an.

Hinweis: ldd sollte nur auf vertrauenswürdige Pakete angewandt werden, um missliebige Codeausführung zu vermeiden.

Fedora warnt Nutzer der Fedora 40 Beta – Fedora 38 & 39 sowie 40 mit Paketen ausschließlich aus dem stable-repo sind nicht betroffen.

openSUSE aktualisiert das Paket zu 5.6.1.revertto5.4, um den Schadcode zu beseitigen.

Ubuntu scheint hierbei glimpflich davon gekommen zu sein.

Generell gilt neben dem sofortigen Update des Betriebssystems beziehungsweise des xz-Pakets auch der Rat, SSH abzustellen, falls dieses gegenwärtig nicht genutzt wird.

Die Geschichte hinter dem Angriff

Eine Zusammenfassung der bislang bekannten Abläufe hat Evan Boeh zusammen­getragen. Demnach begann die Unternehmung bereits im Jahr 2021 durch das Anlegen des GitHub-Accounts JiaT75 und ersten Versuchen, Open-Source Projekte zu torpedieren. 2022 hat die betreffende Person oder Unternehmung hinter dem Account erste Patches für xz geliefert, die aktiv von weiteren Nutzern durchgedrückt wurden. Der Druck wurde weiter ausgebaut, um neue Maintainer für das Projekt aufzunehmen. JiaT75 begann regelmäßig Commits für das Projekt zu liefern.

Anfang 2023 erreichte der Nutzer einen entsprechenden Vertrauensstatus im Projekt und kurz darauf startete das Werben bei den Distributionen um die Aufnahme der Programmversionen, die unter Zugriff der Konspiranten entstanden. Dabei wurden Vorbereitungen getroffen, um die Einführung schadhaften Codes zu verschleiern. Ab 2024 wurden die ominösen Testdateien aufgespielt und die verseuchte Version ausgeliefert.

Wer letztendlich dahinter steckt, lässt sich zum gegenwärtigen Zeitpunkt nicht sagen – ob ein staatlicher Akteur oder eine kriminelle Gruppe dahinter stecken, ist noch offen.