Eine Schwachstelle in der API IndexedDB, die es ermöglicht, Benutzer von Firefox und Tor Browser zu identifizieren.

Im Gecko-Browser-Engine wurde eine Schwachstelle (CVE-2026-6770) entdeckt, die es ermöglicht, eindeutige Identifikatoren zur Verfolgung des Öffnens verschiedener Websites aus einem einzigen Browser zu erstellen. Das Problem tritt in allen auf Firefox basierenden Browsern auf, einschließlich Tor Browser, und funktioniert selbst im privaten Modus. Die Identifikatoren gelten innerhalb des aktuellen Browserprozesses und werden nach einem Neustart des Browsers zurückgesetzt. Die Schwachstelle wurde in den Versionen Firefox 150/140.10.0 und Tor Browser 15.0.10 behoben.

Um einen Identifikator zu erstellen, reicht es aus, auf verschiedenen Websites über die API IndexedDB dieselbe Datenbanksequenz zu erstellen, und anschließend die Reihenfolge dieser Datenbanken beim Aufruf der Methode indexedDB.databases() zu bewerten. Für verschiedene Browserinstanzen wird die Reihenfolge der Aufzählung der Datenbanken unterschiedlich sein, aber für eine Instanz wird sie sich wiederholen. Diese Reihenfolge bleibt bis zum Neustart des Browsers erhalten und wird unabhängig von der geöffneten Website reproduziert.

Wenn beispielsweise die Datenbank „a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r“ in einem Firefox-Exemplar erstellt wird, gibt die Methode indexedDB.databases() immer „g,c,p,a,l,f,n,r,d,j,b,o,h,e,m,i,k“ zurück, während in einem anderen Exemplar „j,b,o,h,e,m,i,k,f,n,r,d,g,c,p,a,l“ zurückgegeben wird. Bei der Erstellung von 16 Datenbanken kann man etwa 44 Bit Entropie für die Identifizierung erhalten. Die Generierung des Identifikators wird nicht durch das Löschen der lokalen Browserspeicher oder durch das Aktualisieren der Tor-Knoten-Kette mit der Schaltfläche „Neue Identität“ im Tor-Browser beeinflusst. Diese Methode kann auch zur Identifizierung von Benutzern im privaten Fenster verwendet werden.

Die Schwachstelle ergibt sich aus einer Besonderheit der API-Implementierung von IndexedDB, bei der die Reihenfolge der Datenbanken von der spezifischen Anordnung interner Strukturen abhängt, die für jede Instanz des Browserprozesses charakteristisch ist. Die Reihenfolge der Elemente in der Liste der Datenbanken, die von der Methode indexedDB.databases() zurückgegeben wird, hängt nicht von den Namen der Datenbanken oder von ihrer Erstellungsreihenfolge ab, sondern von der Platzierung in der globalen Hash-Tabelle der internen UUID-Hashes, die mit den Dateinamen assoziiert sind, in denen die Datenbanken auf der Festplatte gespeichert sind.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster