Новости

Почему приватные окна Firefox не защищают: разбираем уязвимость

Специалисты FingerprintJS выявили уязвимость, затрагивающую все браузеры на основе Firefox, включая Tor Browser. Эта проблема позволяет веб-сайтам формировать уникальный идентификатор пользователя и отслеживать его действия между различными доменами, обходясь без cookie, localStorage и других явных методов трекинга.

Уязвимости присвоен номер CVE-2026-6770, а в Mozilla её оценили как средней опасности. Ошибка уже устранена в версиях Firefox 150 и ESR 140.10.0, а также в Tor Browser 15.0.10.

Причина кроется в работе API IndexedDB, предназначенного для хранения структурированных данных на стороне клиента. При запросе списка баз данных через indexedDB.databases() Firefox возвращает их не в порядке создания, а в последовательности, определяемой внутренней хеш-таблицей. В приватном режиме имена баз данных заменяются на UUID через глобальную хеш-таблицу, общую для всех сайтов в рамках одного процесса браузера. Это приводит к тому, что порядок баз данных становится уникальным и стабильным идентификатором для всех сайтов, пока процесс Firefox активен.

Исследователи продемонстрировали: если два разных сайта используют одинаковый скрипт для создания и запроса баз данных, они получают идентичный порядок их перечисления. Этот порядок не меняется при перезагрузке, открытии новых приватных окон или даже после их закрытия — пока не завершён процесс браузера. Контролируя 16 имён баз данных, можно получить около 44 бит энтропии, что достаточно для уникальной идентификации браузера.

Для Tor Browser уязвимость особенно опасна: идентификатор сохраняется даже после использования функции «New Identity», которая должна полностью обнулять состояние браузера и разрывать связь между сессиями.

Исправление оказалось несложным: теперь результаты indexedDB.databases() сортируются в каноническом (например, алфавитном) порядке перед возвратом, что исключает утечку внутреннего состояния хранилища.
2026-05-18 09:00 Уязвимости