È stata identificata una vulnerabilità (CVE-2026-6770) nel motore del browser Gecko che permette di generare identificatori unici per il tracciamento della navigazione su diversi siti web da un singolo browser. Questa problematica si manifesta in tutti i browser basati su Firefox, incluso Tor Browser, e funziona anche in modalità di navigazione privata. Gli identificatori sono validi all'interno dell'attuale processo del browser e vengono resettati dopo il riavvio del browser. La vulnerabilità è stata risolta nelle versioni di Firefox 150/140.10.0 e Tor Browser 15.0.10.
Per generare un identificatore è sufficiente creare, su diversi siti, la stessa sequenza di database tramite l'API IndexedDB, dopo di che si può valutare l'ordine di apparizione di questi database chiamando il metodo indexedDB.databases(). Per diverse istanze del browser, l'ordine di enumerazione dei database varierà, ma all'interno di una singola istanza rimarrà costante. Tale ordine persiste fino al riavvio del browser ed è riproducibile indipendentemente dal sito web aperto.
Ad esempio, dopo la creazione del DB «a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r» in un'istanza di Firefox, il metodo indexedDB.databases() restituirà sempre «g,c,p,a,l,f,n,r,d,j,b,o,h,e,m,i,k», mentre in un'altra istanza restituirà «j,b,o,h,e,m,i,k,f,n,r,d,g,c,p,a,l». Creando 16 DB si possono ottenere circa 44 bit di entropia per l'identificazione. La generazione dell'identificatore non è influenzata dalla pulizia degli archivi locali del browser e dall'aggiornamento della catena di nodi Tor premendo il pulsante «New Identity» nel Tor Browser. Questo metodo può essere utilizzato anche per identificare gli utenti in una finestra di navigazione privata.
La vulnerabilità è causata da una particolarità nell'implementazione dell'API IndexedDB, dove l'ordine delle DB è influenzato dalla disposizione delle strutture interne, specifica per ogni istanza del processo del browser. L'ordine degli elementi nella lista delle DB, restituita dal metodo indexedDB.databases(), non dipende dai nomi delle DB o dall'ordine di creazione delle DB, ma dalla posizione nella tabella hash globale degli UUID hash interni associati ai nomi dei file in cui le DB sono memorizzate su disco.
Fonte: opennet.ru
