XZ-Utils | |
---|---|
Kehityshistoria | |
Vakaa versio | 5.6.4 ()[1] |
Tiedot | |
Lisenssi | GNU Lesser General Public License, versio 2.1 tai myöhempi |
Aiheesta muualla | |
Verkkosivusto | |
Versiohallinta | |
Infobox OK |
XZ Utils (aiemmin LZMA Utils) on paketti avoimen lähdekoodinpakkausohjelmia. 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 Unixincompress taigzip taibzip2.Ohjelmat pakkaavat vain yhden tiedoston tai vuon, joten sille voiputkittaa esim.tar-arkistointiohjelman tulostuksen, joka pakataan ja tallennetaan tiedostoon.
XZ Utils perustuu Igor Pavlovin kehittämälle LZMA Utilsille, jota käytettiin aluksi7-Zipin7z-pakkauksessa.LZMA Utils alkoi Unix-versiona Pavlovin LZMA-SDK:staTukaani-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.[2] Pavlovin mukaan LZMA on hänen kehittämänsä yhdistelmäLZ77-algoritmia,Markovin ketjuja ja aritmeettista koodausta.[3]
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ä.[4]Lisäksi xz:n muistinkäyttö vaihtelee muutamasta sadasta kilotavusta jopa gigatavuihin.[5]
Maaliskuussa uutisoitiin xz-paketista löytyneestätakaovesta, joka muuttaaSSH-palvelimen autentikaatiota. Takaovi on löytynyt versioista 5.6.0 ja 5.6.1, jonka vuoksi monetjakelut ovat palanneet näitä edeltävään versioon. Ongelmallinen versio ei ollut vielä kaikissa jakeluissa käytössä.[6][7] Takaoven löytymisestä kerrottiinOpenWallin sähköpostilistalla.[8][9]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 ja samalla ylläpitoon kohdistettiin painostusta nopeampiin päivityksiin.[10][11][12][13][14] Takaovi käyttiglibc:n ominaisuutta (IFUNC
) korvaamaanRSA_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 virheenCMake-ohjelman tekemässä tarkistuksessa.[15][16] 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.[14]