Hvordan en bakdør i XZ Utils nesten kompromitterte Linux-økosystemet

Hvordan en bakdør i XZ Utils nesten kompromitterte Linux-økosystemet

I denne bloggposten vil vi utforske den dyptgående bakdøren funnet i XZ Utils, en essensiell komprimeringsverktøy brukt i Linux-systemer, spesielt versjonene 5.6.0 og 5.6.1. Denne sårbarheten, kjent som CVE-2024-3094, ble avslørt 29. mars 2024 og har vekket stor bekymring innen cybersikkerhetsmiljøet.

Oppdagelsen

Sårbarheten ble først oppdaget av programvareutvikleren Andres Freund, som fant en bakdør innført i liblzma biblioteket, en del av XZ Utils. Dette påvirket hovedsakelig Debian- og RPM-baserte distribusjoner, og hadde et potensial for å gi uautorisert tilgang via SSHD-autentisering​​.

Teknisk Analyse

Bakdøren involverer en flertrinns eksekveringskjede som starter med et skadelig script, build-to-host.m4, kjørt under bibliotekets byggeprosess. Dette scriptet dekoder en «test» fil til et bash-script, som videre dekoder en annen «test» fil inn i ytterligere et script. Dette ekstraherer et delt objekt liblzma_la-crc64-fast.o, som blir lagt til i kompileringsprosessen og til slutt manipulerer funksjonsoppløsningsprosessen innen liblzma. Denne sårbarheten tillater eksekvering av vilkårlig kode fra en autentiserende klient før autentisering​​.

Påvirkede Distribusjoner

Mens nesten alle Linux-distribusjoner bruker XZ Utils, var det hovedsakelig testversjoner av distribusjoner som var kompromittert, inkludert Fedora Linux 40 beta, openSUSE Tumbleweed, Debian’s testing, unstable og experimental versjoner, samt Kali Linux​​​​. Noen distribusjoner som Ubuntu, Gentoo og Alpine Linux, rapporterte at de ikke var berørt​​.

Tiltak

Microsoft har levert avanserte jaktspørringer som tillater sikkerhetsteam å vurdere påvirkningen av CVE-2024-3094 i deres miljøer, og anbefaler umiddelbar nedgradering til en tidligere, ikke-kompromittert versjon av XZ Utils​​. JFrog har også utviklet et åpen kildekode-detektor for CVE-2024-3094, som kontrollerer om en lokal maskin er både sårbar og for tiden påvirket av den skadelige versjonen av XZ​​.

Konklusjon

Denne hendelsen understreker viktigheten av sikkerhetspraksis i programvareforsyningsskjeden og behovet for konstant overvåkning og oppdatering av systemer for å beskytte mot slike sårbarheter. Det anbefales at alle brukere og utviklere som påvirkes av denne sårbarheten, umiddelbart iverksetter tiltak for å redusere risikoen og sikre sine systemer.