Das Backdoor im Paket xz wurde vermutlich vom Entwickler Jia Tan eingefĂŒhrt, der im Jahr 2022 den Status eines Betreuers erhielt und Begleitversionen ab Version 5.4.2 veröffentlichte. Neben dem Projekt xz war der mutmaĂliche Autor des Backdoors auch an der Entwicklung der Pakete xz-java und xz-embedded beteiligt und gehörte zu den Maintainers des XZ Embedded-Projekts, das im Linux-Kernel verwendet wird.
Bei der Förderung des Backdoors wurden auch zwei weitere Teilnehmer bemerkt â Jigar Kumar und Hans Jansen, die anscheinend virtuelle Charaktere sind. Jigar Kumar trug im April 2022 zur Annahme frĂŒherer Patches von Jia Tan bei, die die UnterstĂŒtzung fĂŒr String-Filter implementierten, und ĂŒbte moralischen Druck auf Lasse Collin aus, den damaligen Betreuer, da er kritisierte, dass dieser seine Pflichten nicht erfĂŒlle und hilfreiche Patches nicht annehme. Im Juni stimmte Lasse Collin zu, dass das Projekt einen neuen Betreuer benötige, beklagte sich ĂŒber Erschöpfung und psychische Probleme und ĂŒbergab das Mantelrecht an Jia Tan. Danach tauchte der Benutzer Jigar Kumar nicht mehr in der Mailingliste auf.
Nachdem er die Rechte eines Maintainers erhalten hatte, begann Jia Tan aktiv Ănderungen am Projekt vorzunehmen und belegte statistikmĂ€Ăig in zwei Jahren den zweiten Platz unter den Entwicklern in Bezug auf die Anzahl der Ănderungen. Im MĂ€rz 2023 wurde der fĂŒr das Testing des Pakets xz im Dienst oss-fuzz Verantwortliche von Lasse Collin auf Jia Tan gewechselt, und im Juni wurden Ănderungen, die die UnterstĂŒtzung des Mechanismus IFUNC in liblzma hinzufĂŒgten (der Konstruktor crc64_fast wurde durch ifunc ersetzt), in das Paket xz aufgenommen, welche spĂ€ter zum Abfangen von Funktionen im Backdoor verwendet wurden. Diese Ănderung wurde von Hans Jansen vorgeschlagen und von Jia Tan in das Paket xz aufgenommen. Das Konto von Hans Jansen wurde kurz vor dem Versand des Pull-Requests erstellt.
Im Juli 2023 sandte Jia Tan den Entwicklern von oss-fuzz eine Anfrage zur Deaktivierung der ifunc-PrĂŒfung wegen ihrer InkompatibilitĂ€t im Modus "-fsanitize=address". Anfang Februar 2024 wurde der Link zur Projektwebsite in oss-fuzz und auf der Hauptseite von tukaani.org von "tukaani.org/xz/" auf "xz.tukaani.org" geĂ€ndert, wobei die Subdomain "xz.tukaani.org" auf dem GitHub Pages-Dienst gehostet wurde und persönlich von Jia Tan kontrolliert wurde. Am 23. Februar wurden im Repository xz Archive zum Testen des Dekodierers bereitgestellt, darunter die Dateien bad-3-corrupt_lzma2.xz und good-large_compressed.lzma mit einem versteckten Backdoor. M4-Makros zur Aktivierung des Backdoors waren nur im tar-Archiv mit Release 5.6.0 enthalten und wurden aus dem Git-Repository ausgeschlossen, tauchten jedoch in der Datei .gitignore auf.
Am 17. MĂ€rz wurde Hans Jansen, der zuvor Patches mit IFUNC-UnterstĂŒtzung entwickelt hatte, als Teilnehmer des Debian-Projekts registriert. Am 25. MĂ€rz sandte er einen Antrag zur Aktualisierung der Version des Pakets xz-utils im Debian-Repository. Update-Anfragen wurden auch an die Entwickler von Fedora und Ubuntu weitergeleitet (im Ubuntu-Repository war das Paket zum Zeitpunkt der Anfrage eingefroren, und die Ănderung wurde abgelehnt).
Einige Benutzer, die um ein Update auf die Version xz baten, erklĂ€rten, dass in der neuen Version störende Fehler behoben worden seien, die bei der Debugging in valgrind auftraten (die Probleme entstanden durch eine falsche Bestimmung des Stack-Layouts im Backdoor-Handler, und die Entwickler der Backdoor versuchten, diese Probleme in der Version xz 5.6.1 zu beheben). Auch Andres Freund, ein Mitarbeiter von Microsoft, der an der Entwicklung von PostgreSQL beteiligt ist, nahm Interesse an dem Vorfall und entdeckte die Existenz der Backdoor und informierte die Community darĂŒber.
Quelle: opennet.ru
