Backdoor in xz gefunden
Die weitverbreiteten Datenkompressionswerkzeuge XZ Utils (früher LZMA Utils) enthalten in Version 5.6 eine Backdoor. Ziel der Backdoor ist nach aktuellem Kenntnisstand eine Kompromittierung von SSH-Servern. Dies wurde gestern auf der oss-security-Mailingliste von Andres Freund nebst einer umfangreichen Analyse des Sachverhalts bekannt gegeben. Durch den Einsatz der Werkzeuge in Linux-Distributionen haben wir hier einen Fall einer Supply-Chain-Attacke. Red Hat hat dem Vorfall die CVE-Nummer CVE-2024-3094 vergeben.
Vorab eine Liste mit weiteren Links:
- Stellungsnahmen von verschiedenen Distributoren
- FAQ
- Hacker-News-Diskussion
- Zeitleiste
Wirkungsweise
Dabei wird die Backdoor nur unter bestimmten Bedingungen ausgeführt, wie das FAQ beschreibt. Im Wesentlichen muss argv[0] auf /usr/sbin/sshd gesetzt sein und eine Reihe an Umgebungsvariablen entweder gesetzt oder nicht gesetzt sein. Normalerweise hängt OpenSSH nicht von liblzma ab. Einige Distributoren patchen OpenSSH allerdings so, dass systemd-Notifcations funktioniert, welches wiederum auf liblzma setzt und die Backdoor möglich macht. Technisch werden einige Checks durchgeführt und anschließend mittels IFUNC Bibliotheksaufrufe umgeleitet. Dies betrifft nach aktuellem Stand auch Aufrufe während der Kryptoroutinen bei der SSH-Authentifizierung.
Betroffenheit
Der Wirkungsweise der Payload ist noch nicht abschließend geklärt. Besonders auch aus diesem Grund wird ein unverzügliches Update angeraten. Im Folgenden einige unverbindliche Faktoren, die eine Verwundbarkeit wahrscheinlich machen. Auf diese Weise kann man priorisieren, welche Systeme zuerst aktualisiert werden sollten.
Versionierte Distros wie z. B. Debian oder RHEL sind nach aktuellem Kenntnisstand mit ihren stabilen Versionen nicht direkt betroffen, da die Versionen 5.6 noch keinen Einzug in das System gefunden haben. Die Testing-Versionen dieser Distros wie z. B. Debian Sid wurden allerdings aktualisiert und sind betroffen.
Rolling-Release-Distros sind naturgemäß auch betroffen, wenn sie schon Version 5.6 in ihre Pakete aufgenommen haben. Dies betrifft zum Beispiel Arch Linux oder Gentoo. Da allerdings einige Distributionen wie Arch Linux OpenSSH nicht gegen liblzma linken, wird die Bibliothek nicht direkt in die Ausführung der Komponenten eingebunden.
Nach aktuellem Stand wird eine Verwundbarkeit besonders kritisch, wenn auf dem betroffenen Host ein öffentlich erreichbarer SSH-Server läuft, da die oben beschriebenen Faktoren ein Laden der Payload auslösen können.
Wie kam es?
Aufgefallen ist die Backdoor nur durch Zufall durch das Debugging von Performanceproblemen, die durch die Backdoor verursacht wurden. Die Backdoor wurde obfuskiert im Rahmen von Buildskripten untergebracht, sodass aufgrund der Komplexität die Lücken noch nicht direkt aufgefallen sind.
Das Repository hinter xz kann als kompromittiert gesehen werden und ist auch auf GitHub schon gesperrt worden. Auffällig ist, dass die Backdoor in den Tarballs der Releases enthalten war, nicht jedoch im Repository-Dump selber. Auch personell gab es einige Auffälligkeiten, da es vor kurzem einen Maintainerwechsel beim Projekt gab und die Lücken vom neuen Maintainer, der seit 2 Jahren am Projekt mitarbeitet, zumindest begünstigt wurden. Die Art und Weise lässt auch auf ein koordiniertes, von langer Hand geplantes Vorgehen schließen.
Einfluss und Folgen
Das große Ganze ist ein Paradebeispiel von xkcd 2347 "Dependency". Wir sehen hier Live ein Beispiel einer Supply-Chain-Attacke. Ein kleines, scheinbar unbedeutendendes Projekt wird übernommen, nur um strategisch Commits zu platzieren, die automatisch "flussabwärts" ihren Weg in größere Distributionen finden, die allesamt auf das Projekt setzen. Alles passiert trotz Open Source. Besonders pikant: der Maintainer hat aktiv versucht, die Backdoor-begünstigenden Umgebungsfaktoren, konkret das Umbiegen von Bibliotheksaufrufen mittels ifunc, in Fuzzing-Projekten wie oss-fuzz, die aktiv nach sowas suchen, zu deaktivieren.
Software wird immer bedeutender und benötigt Vertrauen. Dabei ist jetzt schon klar, dass niemand selber solch komplexe Systeme von alleine bauen kann. Aber auch die Kontrolle der Quellen ist eine große Herausforderung. Neue Gesetzgebung wie der geplante Cyber Resilience Act in der EU versuchen in der Industrie Anreize zu schaffen, die Softwarequalität zu erhöhen.
Diese Attacke konnte einigermaßen abgewendet werden, sollte die umfassende Analyse der Payload keine belastenden Neuigkeiten hervorbringen. Eines ist aber auch klar: Die Angreifer studieren das Verhalten der Verteidiger und werden in Zukunft ihre Vorgehensweise dahingehend optimieren, nicht so einfach mehr gefunden zu werden. Es ist also möglich, Backdoors in so ein Ökosystem hineinzuschummeln. Umso besser müssen aber die Identifikations- und Abwehrmöglichkeiten werden, damit solche Angriffe wirksam verhindert werden können.
Um sicher mit Linux umzugehen, ist eine Kombination aus Lernen und praktischer Erfahrung erforderlich. Das würden die meisten Lehrbücher Dir sagen. Ich sehe das anders. Denn das wichtigste sind meiner Erfahrung nach nur der Wille und die richtige Lebenseinstellung. Wir gehen in diesem Beitrag mal die wichtigsten Punkte durch und danach gebe ich Dir meinen...
Canonical, das Unternehmen hinter der beliebten Linux-Distribution Ubuntu, hat eine spannende Ankündigung gemacht, die seine Benutzerbasis und insbesondere seine Unternehmenskunden erfreuen wird. Obwohl die Ankündigung jetzt kommt, gilt sie nicht nur für aktuelle oder das kommende LTS System. Vorweg angekündigt wurde die Verlängerung von Mark Shuttlewoth in einem Interview. Ab Ubuntu 14.04 LTS verlängert Canonical...
Zorin OS 17 hat kürzlich sein erstes Point-Release veröffentlicht, das zahlreiche Verbesserungen und Neuerungen mit sich bringt. Was alles an Verbesserungen und Neuerungen im Gepäck sind, darum gehts in diesem Beitrag. Zorin OS 17.1 basiert auf Ubuntu 22.04 LTS und integriert stellenweise neuere Pakete wie eine aktuellere Version von GNOME Shell. Es ist bekannt für...
GNOME 46 “Kathmandu” wurde veröffentlicht, wobei die Desktop-Umgebung für GNU/Linux-Systeme zahlreiche neue Funktionen, Verbesserungen und aktualisierte Apps bietet. Zu den Highlights zählen die Unterstützung für headless Remote-Desktops, die es ermöglicht, sich ohne bestehende Sitzung remote mit dem GNOME-System zu verbinden, sowie die Möglichkeit, die variable Bildwiederholfrequenz des Monitors anzupassen. Das Update beinhaltet auch eine überarbeitete...






Wenn ich an meine eigenen Anfänge in der Linux-Welt zurückdenke, erinnere ich mich an die Neugier und den Wunsch, mehr über die Open-Source-Gemeinschaft zu erfahren. Als jemand, der diese Reise bereits vor über 20 Jahren gemacht hat, betrachte ich heute die zahlreichen Distros mit einem Wissen um ihre Vielfalt und Unterschiede. In diesem Artikel möchte...
Im Hause openSUSE geht es langsam auf Leap 15.6 zu. Die entsprechende Beta Version ist nun veröffentlicht worden und kann ab sofort ausprobiert werden. Basierend auf SUSE Linux Enterprise 15 Service Pack 6 konzentriert sich die Beta von Leap 15.6 auf Stabilität und bietet volle Kompatibilität mit dem Enterprise Linux-Release. Dies macht sie zu einer...
KeePassXC 2.7.7 wurde als neues Wartungsupdate der KeePassXC 2.7-Serie der beliebten, kostenlosen und plattformübergreifenden Passwort-Manager-Anwendung auf Open-Source Basis veröffentlicht. Die neue Version unterstützt den Import von Passwörtern in den Formaten 1Password 1PUX und Bitwarden (sowohl unverschlüsselt als auch verschlüsselt), USB-Hotplug-Unterstützung für die Hardware-Schlüsselfunktion und grundlegende Unterstützung für PassKeys (WebAuthn). Darüber hinaus wurden Sicherheitsverbesserungen eingeführt, um...
Knapp zweieinhalb Monate seit der Veröffentlichung von Zorin OS 17 wurde nun das erste Point-Release mit interessanten Gepäck veröffentlicht. Die neuesten Verbesserungen wird ab sofort über mit den gewöhnlichen Aktualisierungen verteilt. Das Zorin OS 17-Betriebssystem hat seit seiner Veröffentlichung vor etwas mehr als zwei Monaten bereits über eine halbe Million Downloads verzeichnet, wobei mehr als...
Linus Torvalds kündigte die Veröffentlichung des Linux-Kernels 6.8 an, der mehrere neue Funktionen und Verbesserungen enthält. Zu den Highlights gehören die LAM-Virtualisierung und die Gast-Speicherunterstützung für KVM, ein grundlegender Online-Dateisystem-Check für Bcachefs, Unterstützung für den Broadcom BCM2712-Prozessor im Raspberry Pi 5, AMDs Wi-Fi-Band RFI-Mitigierungsfunktion (WBRF), zswap Writeback-Deaktivierung, Fscrypt-Unterstützung für CephFS und ein neuer Intel Xe...