**XZ Utils** (aiemmin LZMA Utils) on paketti avoimen lähdekoodin pakkausohjelmia. Pakettiin kuuluvat ohjelmat ovat lzma ja sen seuraaja xz.
Ohjelmat ovat lähinnä Unix- ja Linux-käyttöjärjestelmiin suunnattuja komentoriviohjelmia, jotka toimivat kuten Unixin compress tai gzip tai bzip2.
Ohjelmat pakkaavat vain yhden tiedoston tai vuon, joten sille voi putkittaa esim. tar-arkistointiohjelman tulostuksen, joka pakataan ja tallennetaan tiedostoon.

XZ Utils perustuu Igor Pavlovin kehittämälle LZMA Utilsille, jota käytettiin aluksi 7-Zipin 7z-pakkauksessa.
LZMA Utils alkoi Unix-versiona Pavlovin LZMA-SDK:sta Tukaani-projektin yhteydessä. xz:n algoritmina on nykyisin LZMA2, jota tallennetaan xz-kuoreen. Pakkaukselle luvataan jopa 30% parempi pakkaussuhde kuin gzipille ja 15% parempi kuin bzip2:lle. Pavlovin mukaan LZMA on hänen kehittämänsä yhdistelmä LZ77-algoritmia, Markovin ketjuja ja aritmeettista koodausta.

Eräässä kokeessa linux-lähdekoodipaketti pakkautui suurimmilla asetuksilla gzip:llä 21% tilaan, bzip2:lla 16,6% tilaan ja xz:llä 13,9% tilaan. xz:llä pakkaus vie jopa 9 kertaa enemmän aikaa kuin gzipillä.
Lisäksi xz:n muistinkäyttö vaihtelee muutamasta sadasta kilotavusta jopa gigatavuihin.

Takaovi
-------

Maaliskuussa uutisoitiin xz-paketista löytyneestä takaovesta, joka muuttaa SSH-palvelimen autentikaatiota. Takaovi on löytynyt versioista 5.6.0 ja 5.6.1, jonka vuoksi monet jakelut ovat palanneet näitä edeltävään versioon. Ongelmallinen versio ei ollut vielä kaikissa jakeluissa käytössä. Takaoven löytymisestä kerrottiin OpenWallin sähköpostilistalla.
Takaoven lisäsi Jia Tan (JiaT75), joka vaikutti myös toiseen pakettiin, ja pääsi myöhemmin sabotoimaan projektia. Jia Tan tarjoutui projektiin kun sen ylläpito oli vaikeuksissa vuonna 2022. Takaovi käytti glibc:n ominaisuutta (`IFUNC`) korvaamaan `RSA_public_decrypt`-funktion ohjaamalla sen haitalliseen versioon. Tämä antoi hyökkääjälle mahdollisuuden suorittaa antamansa ohjelmakoodin etänä. Jia Tan teki myös muutoksen, jolla landlock-hiekkalaatikon tuki kytkeytyi pois käännösvaiheessa aiheuttamalla virheen CMake-ohjelman tekemässä tarkistuksessa. Saastutettu kirjasto hyökkäsi SSH-ohjelmistoon, ja avasi tähän takaoven, jonka kautta hyökkääjälle tuli mahdollisuus lähettää suoritettava ohjelma SSH-sertifikaatin mukana.

Lähteet
-------

1. ↑  [xz-devel] XZ Utils 5.6.1, 9. maaliskuuta 2024 (viitattu 9. maaliskuuta 2024). Tieto on haettu Wikidatasta.
2. ↑
3. ↑  LZMA spec?  27.2.2004.  Arkistoitu. Viitattu 30.3.2024. (englanniksi)
4. ↑
5. ↑
6. ↑  Dan Goodin: Backdoor found in widely used Linux utility breaks encrypted SSH connections *arstechnica.com*.  29.3.2024. Viitattu 30.3.2024. (englanniksi)
7. ↑  Thomas Claburn: Malicious SSH backdoor sneaks into xz, Linux world's data compression library *theregister.com*.  29.3.2024. Viitattu 30.3.2024. (englanniksi)
8. ↑  Andres Freund: backdoor in upstream xz/liblzma leading to ssh server compromise *openwall.com*.  29.3.2024. Viitattu 30.3.2024. (englanniksi)
9. ↑  Urgent security alert for Fedora Linux 40 and Fedora Rawhide users *redhat.com*.  29.3.2024. Viitattu 30.3.2024. (englanniksi)
10. ↑  Evan Boehs: Everything I Know About the Xz Backdoor *boehs.org*. Viitattu 31.3.2024. (englanniksi)
11. ↑  A Microcosm of the interactions in Open Source projects *robmensching.com*.  30.3.2024. Viitattu 31.3.2024. (englanniksi)
12. ↑  Lasse Collin: Re: XZ for Java *mail-archive.com*.  19.5.2022. Viitattu 31.3.2024. (englanniksi)
13. ↑  Lasse Collin: XZ Utils backdoor *tukaani.org*. Viitattu 31.3.2024. (englanniksi)
14. ↑  FAQ on the xz-utils backdoor *gist.github.com*. Viitattu 1.4.2024. (englanniksi)
15. ↑  What is an indirect function (IFUNC)? *sourceware.org*. Viitattu 1.4.2024. (englanniksi)
16. ↑  Dan Goodin: What we know about the xz Utils backdoor that almost infected the world *arstechnica.com*.  1.4.2024. Viitattu 3.4.2024. (englanniksi)