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.