En liten JavaScript-utnyttelse kan fryse macOS-grensesnittet når noen åpner et skadelig nettsted. Deathray-utnyttelsen fungerer i Chrome, Firefox og Safari, noe som gir berørte brukere få andre alternativer enn å starte Mac-en på nytt.
Apple klarte å gjenskape problemet etter å ha mottatt forskerens rapport. Selskapet uttalte imidlertid senere at det ikke hadde identifisert noen sikkerhetsmessige konsekvenser, og har ikke kunngjort noen rettelse.
WebGPU-shader utløser en uendelig løkke
Sikkerhetsforsker Auberon López oppdaget feilen mens han lærte seg å bruke WebGPU. Dette moderne grafikkgrensesnittet gir nettapplikasjoner tilgang på lavt nivå til enhetens grafikkprosessor for krevende gjengivelses- og beregningsoppgaver.
Utnyttelsen består av én enkelt GPU-beregningsshader i en liten JavaScript-fil. Når den lastes inn, går shaderen inn i en uendelig løkke og kopierer gjentatte ganger den samme vektoren til en buffer.
Samtidig trenger shaderen som viser innholdet, også tilgang til denne bufferen. Den kan ikke fortsette fordi den første operasjonen aldri frigjør ressursen. Dermed stopper GPU-rørledningen opp, og det grafiske grensesnittet i macOS fryser.
Skadelige nettsteder kan låse grensesnittet
En angriper trenger bare å overbevise en bruker om å åpne et nettsted som inneholder skriptet. Ingen ytterligere nedlastinger eller interaksjoner ser ut til å være nødvendige.
Virkningene kan variere mellom forskjellige enheter og forsøk. I enkelte tilfeller fortsetter musepekeren å bevege seg, eller den roterende badeballen vises. Andre tester har produsert magentafargede visuelle artefakter eller fått hele grensesnittet til å slutte å reagere.
Cybernews testet demonstrasjonen i Firefox på en MacBook og rapporterte at selv musepekeren frøs. Brukere kan tvinge datamaskinen til å starte på nytt. Apples innebygde Watchdog-prosess bør ellers til slutt oppdage problemet og sette i gang en omstart.
Den automatiske tidsavbruddsgrensen kan imidlertid være lengre enn mange brukere ønsker å vente. Dessuten kan en nettleser som automatisk gjenoppretter den forrige økten, åpne den skadelige siden igjen etter at Mac-en har startet på nytt.
Mac-en fortsetter å kjøre i bakgrunnen
Selv om skjermen blir ubrukelig, slår ikke utnyttelsen av datamaskinen fullstendig. López oppdaget at en berørt Mac fortsatt kunne ta imot eksterne SSH-tilkoblinger.
Angrepet blokkerer i stedet WindowServer, en sentral macOS-prosess som håndterer vinduer og det grafiske brukergrensesnittet. WindowServer venter på at GPU-rørledningen skal bli tilgjengelig, men den skadelige shaderen hindrer dette.
Denne oppførselen forklarer også hvorfor macOS kanskje ikke reagerer lenge nok til å utløse en vanlig kjernepanikk. Operativsystemet fortsetter å fungere i bakgrunnen, mens det grafiske grensesnittet forblir låst.
Store Mac-nettlesere er fortsatt berørt
López gjenskapte Deathray-utnyttelsen gjennom Chrome, Firefox og Safari på macOS. Tester tyder på at den samme koden ikke fryser iPhone-enheter eller enheter med andre operativsystemer, selv om den fortsatt kan redusere ytelsen deres.
Windows bruker et gjenopprettingssystem kalt Timeout Detection and Recovery. Det kan tilbakestille grafikkortet når en oppgave tar for lang tid å fullføre. Forskeren mener at macOS mangler en like effektiv mekanisme for å komme seg etter akkurat denne GPU-belastningen.
López tror også at problemet kan være knyttet til arkitekturen i Apples prosessorer i M-serien. På disse brikkene håndterer en hjelpeprosessor og fastvaren dens GPU-preemption, som gjør det mulig for systemet å avbryte eller sette en pågående oppgave på pause.
Apple klarte å gjenskape macOS-feilen
Forskeren rapporterte sårbarheten til Apple, som raskt klarte å gjenskape problemet. Ifølge López planla selskapet opprinnelig å rette feilen og presenterte en mulig tidsplan.
Apple endret senere vurderingen og uttalte at rapporten ikke viste noen sikkerhetsmessige konsekvenser. Selskapet skal ha overført funnet til et annet team for vurdering av mulige forbedringer.
Svaret tyder på at problemet kan få lavere prioritet enn sårbarheter som involverer ekstern kjøring av kode, omgåelse av sandkasser eller datatyveri.
Lignende macOS-sårbarhet fikk tidligere et CVE-nummer
Apple har tidligere bekreftet en annen tjenestenektssårbarhet som involverte skadelig nettinnhold. Sårbarheten fikk identifikatoren CVE-2023-40441 og en middels alvorlighetsgrad på 6,5 av 10.
López mener at Deathray er mindre alvorlig enn ekstern kjøring av kode eller et datainnbrudd. Utnyttelsen krever likevel liten innsats fordi en angriper bare trenger å overtale noen til å åpne en lenke.
Forskeren har offentliggjort koden, men oppfordret andre til å bruke den ansvarlig. Inntil Apple innfører sterkere beskyttelse, bør Mac-brukere unngå å kjøre demonstrasjonen eller åpne mistenkelige lenker som hevder å teste sårbarheten.


0 responses to “Deathray-skadevaren kan fryse en Mac via et skadelig nettsted”