V prehliadačovom engíne Gecko bola zistená zraniteľnosť (CVE-2026-6770), ktorá umožňuje vytvárať jedinečné identifikátory na sledovanie otvorenia rôznych stránok z jedného prehliadača. Problém sa objavuje vo všetkých prehliadačoch založených na Firefox, vrátane Tor Browser, a funguje aj v režime súkromného prehliadania. Identifikátory platia v rámci aktuálneho procesu prehliadača a sú vymazané po reštartovaní prehliadača. Zraniteľnosť bola odstránená vo verziách Firefox 150/140.10.0 a Tor Browser 15.0.10.
Na vytvorenie identifikátora stačí na rôznych stránkach vytvoriť cez API IndexedDB rovnakú sekvenciu DB, po čom sa hodnotí poradie týchto DB v dôsledku volania metódy indexedDB.databases(). Pre rôzne inštancie prehliadača sa poradie výpisu DB bude líšiť, ale pre jednu sa bude opakovať. Toto poradie zostáva do reštartovania prehliadača a reprodukuje sa nezávisle od otvorenej stránky.
Napríklad po vytvorení DB „a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r“ v jednej inštancii Firefox metóda indexedDB.databases() vždy vráti „g,c,p,a,l,f,n,r,d,j,b,o,h,e,m,i,k“, a v inej inštancii – „j,b,o,h,e,m,i,k,f,n,r,d,g,c,p,a,l“. Pri vytvorení 16 DB je možné získať približne 44 bitov entropie na identifikáciu. Na generáciu identifikátora nemá vplyv vymazanie lokálnych prehliadačových úložísk a aktualizácia reťazca Tor uzlov tlačidlom „Nová identita“ v Tor Browser. Metóda sa tiež môže použiť na identifikáciu používateľov v okne súkromného prehliadania.
Zraniteľnosť je spôsobená osobitosťou implementácie API IndexedDB, kde poradie výskytu DB ovplyvňuje usporiadanie vnútorných štruktúr, ktoré je špecifické pre každú inštanciu pracovného procesu prehliadača. Poradie prvkov v zozname DB, ktorý metóda indexedDB.databases() vracia, nezávisí od názvov DB alebo od poradia ich vytvorenia, ale od umiestnenia v globálnej hash tabuľke vnútorných UUID-hashov, ktoré sú spojené s názvami súborov, v ktorých sú DB uložené na disku.
Zdroj: opennet.ru
