MacRumors

Skip to Content

Баг Safari позволяет веб-сайтам отслеживать вашу недавнюю активность в реальном времени [Обновлено]

Баг в реализации WebKit API JavaScript под названием IndexedDB может раскрывать вашу недавнюю историю просмотров и даже вашу личность, согласно записи в блоге сервиса браузерного фингерпринтинга FingerprintJS, опубликованной в пятницу.

safari icon blue banner
По сути, баг позволяет любому веб-сайту, использующему IndexedDB, получать доступ к именам баз данных IndexedDB, созданных другими веб-сайтами во время сеанса просмотра пользователя. Этот баг может позволить одному веб-сайту отслеживать другие веб-сайты, посещаемые пользователем на разных вкладках или окнах, поскольку имена баз данных часто уникальны и специфичны для каждого веб-сайта. Правильное и нормальное поведение заключается в том, что веб-сайты могут получать доступ только к своим собственным базам данных IndexedDB.

В некоторых случаях веб-сайты используют уникальные идентификаторы пользователя в именах баз данных IndexedDB. Например, YouTube создает базы данных, включающие аутентифицированный идентификатор пользователя Google в имени, и этот идентификатор может использоваться с API Google для получения личной информации о пользователе, такой как изображение профиля, согласно FingerprintJS. Эта личная информация может помочь злоумышленнику определить личность пользователя.

Баг затрагивает новые версии браузеров, использующих движок браузера с открытым исходным кодом Apple WebKit, включая Safari 15 для Mac и Safari на всех версиях iOS 15 и iPadOS 15. Баг также затрагивает сторонние браузеры, такие как Chrome на iOS 15 и iPadOS 15, поскольку Apple требует, чтобы все браузеры использовали WebKit на iPhone и iPad. У FingerprintJS есть живая демонстрация бага, которая показывает, что старые браузеры, такие как Safari 14 для Mac, не затронуты.

FingerprintJS отметил, что для доступа веб-сайта к именам баз данных IndexedDB, созданных другими веб-сайтами, не требуется никаких действий пользователя.

«Вкладка или окно, работающее в фоновом режиме и постоянно запрашивающее API IndexedDB для доступных баз данных, может в реальном времени узнать, какие еще веб-сайты посещает пользователь», — говорится в сообщении блога. «Альтернативно, веб-сайты могут открыть любой веб-сайт во фрейме или всплывающем окне, чтобы вызвать утечку на основе IndexedDB для этого конкретного сайта.»

Режим приватного просмотра не защищает от бага в затронутых версиях Safari.

Пользователям придется ждать, пока Apple исправит баг с обновлениями программного обеспечения — мы связались с Apple, чтобы узнать, планируется ли исправление. Тем временем пользователи Safari 15 могли бы временно перейти на другой браузер на Mac, но это невозможно на iPhone или iPad, поскольку все браузеры на этих устройствах затронуты багом WebKit.

О баге было сообщено в трекер ошибок WebKit 28 ноября. Больше подробностей можно найти в блоге FingerprintJS, ранее о котором сообщал 9to5Mac.

Обновление: Apple подготовила исправление для бага, согласно коммиту WebKit на GitHub, но Apple еще предстоит выпустить обновления macOS и iOS с обновленной версией Safari, прежде чем исправление станет доступно пользователям. Apple отказалась предоставить временные рамки.