Luka w zabezpieczeniach interfejsu API IndexedDB umożliwia identyfikację użytkowników przeglądarek Firefox i Tor.

W silniku przeglądarki Gecko wykryto lukę w zabezpieczeniach (CVE-2026-6770). Umożliwia ona tworzenie unikalnych identyfikatorów, które śledzą otwieranie wielu stron internetowych w tej samej przeglądarce. Problem dotyczy wszystkich przeglądarek opartych na Firefoksie, w tym przeglądarki Tor, i działa nawet w trybie prywatnym. Identyfikatory są ważne w ramach bieżącego procesu przeglądarki i są resetowane po ponownym uruchomieniu. Luka została naprawiona w przeglądarkach Firefox 150/140.10.0 i Tor Browser 15.0.10.

Aby wygenerować identyfikator, wystarczy utworzyć tę samą sekwencję baz danych na różnych stronach internetowych za pomocą interfejsu API IndexedDB, a następnie sprawdzić kolejność tych baz danych, wywołując metodę indexedDB.databases(). Kolejność wyliczania baz danych będzie się różnić w zależności od instancji przeglądarki, ale będzie spójna dla tej samej instancji. Kolejność ta jest zachowywana do momentu ponownego uruchomienia przeglądarki i jest odtwarzana niezależnie od odwiedzanej witryny.

Na przykład, po utworzeniu bazy danych „a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r” w jednej instancji przeglądarki Firefox, metoda indexedDB.databases() zawsze zwróci „g,c,p,a,l,f,n,r,d,j,b,o,h,e,m,i,k”, podczas gdy w innej instancji zwróci „j,b,o,h,e,m,i,k,f,n,r,d,g,c,p,a,l”. Utworzenie 16 baz danych może dać około 44 bitów entropii do identyfikacji. Na generowanie identyfikatorów nie ma wpływu wyczyszczenie pamięci lokalnej przeglądarki ani aktualizacja łańcucha węzłów Tor za pomocą przycisku „Nowa tożsamość” w przeglądarce Tor. Tej metody można również użyć do identyfikacji użytkowników w oknie przeglądania prywatnego.

Luka wynika ze specyficznej implementacji interfejsu API IndexedDB, w której kolejność baz danych zależy od układu struktur wewnętrznych, specyficznych dla każdej instancji przepływu pracy przeglądarki. Kolejność elementów na liście baz danych zwracanej przez metodę indexedDB.databases() nie zależy od nazw baz danych ani kolejności ich utworzenia, ale od umiejscowienia wewnętrznych skrótów UUID powiązanych z nazwami plików, w których bazy danych są przechowywane na dysku, w globalnej tabeli skrótów.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster