Firefox ranjivost stara 17 godina, patch ni na vidiku

Ranjivost omogućava da HTML fajl ukrade druge fajlove sa uređaja.

Firefox ranjivost stara 17 godina, patch ni na vidiku

Stručnjak za bezbednost nedavno je demonstrirao tehniku kojom je, preko HTML fajla u Firefoxu, moguće ukrasti fajlove sa računara žrtve. Ranjivost postoji u Firefox implementaciji Same Origin polise (SOP) za "file://" scheme URI (Uniform Resource Identifiers), koja omogućava da bilo koji fajl u folderu u sistemu pristupi fajlovima u istom folderu i podfolderima. S obzirom na to da IETF nije jasno definisao SOP za shemu fajlova u RFC-u, svaki browser i softver ga implementira drugačije - neki tretiraju sve fajlove u folderu kao da su istog porekla dok je kod drugih svaki fajl označen kao različitog porekla.

Jedino Firefox od velikih browsera još uvek nije promenio nebezbednu implementaciju SOP-a za fajl URI shemu, a takođe podržava i protokol Fetch API over file. O ovoj ranjivosti se godinama vodi rasprava na internetu, ali sada prvi put imamo kompletan PoC napada koji pokazuje da je zaista ugrožena bezbednost i privatnost miliona korisnika Firefoxa.

Video demonstracija krađe lokalnog fajl u Firefoxu.

Video pokazuje da je stara ranjivost eksploatisana kombinacijom clickjacking napada i "context switching" propusta koji su omogućili da exploit kod automatski:

  • Dobije listu svih fajlova iz istog foldera i podfoldera u koji je browser preuzeo maliciozni HTML fajl ili ga je žrtva sačuvala manuelno.

  • Pročita sadržaj bilo kog ili svih fajlova pomoću Fetch API.

  • Pošalje prikupljene podatke na udaljeni server preko HTTP zahteva.

Da bi napad bio uspešan, potrebno je da napadač prevari žrtvu da preuzme i otvori maliciozni HTML fajl u Firefoxu i da klikne na lažno dugme. Sve ovo može da se obavi za nekoliko sekundi, a da žrtva ne bude svesna da je napad u toku. Treba još jednom napomenuti da ova tehnika omogućava pristup samo fajlovima u istom folderu i podfolderima u kojima je i maliciozni HTML fajl preuzet.

Firefox je svestan da postoji problem, a po svemu sudeći ne namerava da izbaci patch u bliskoj budućnosti.