Apple пока не смогла устранить баг, затрагивающий имплементацию API IndexedDB в браузере Safari. В результате владельцы вредоносных сайтов могут отслеживать онлайн-активность пользователей и даже в определённых случаях раскрывать их личность.
Уязвимость получила имя IndexedDB Leaks, первыми её обнаружили специалисты компании FingerprintJS. 28 ноября 2021 года исследователи уведомили корпорацию из Купертино о проблеме, однако она по сей день актуальна.
IndexedDB представляет собой низкоуровневый JavaScript-API, которым оснащены современные веб-браузеры для управления БД NoSQL. Как пишет в документации Mozilla, IndexedDB следует той же политике, что и другие веб-хранилища: вы сможете получить доступ к данным в пределах одного домена, но не сможете добраться до информации из других доменов.
По-другому это называют принципом изоляции, чтобы важные пользовательские данные не просочились от одного домена другому. Он помогает избавиться от вектора атаки, когда вредоносный сайт запускает JavaScript-код, пытающийся считать информацию с другого домена.
Как раз здесь эксперт и нашёл ошибку в способе обработки IndexedDB в Safari. Причём проблема затрагивает как мобильную версию браузера (iOS, iPadOS), так и десктопную (macOS). Как объяснил Мартин Бажаник, при каждом взаимодействии веб-ресурса с базой данных во всех других активных фреймах, а также во вкладках и окнах (в пределах одной сессии браузера) создаётся новая (пустая) БД с тем же именем.
В результате администраторы злонамеренных сайтов могут не только узнать, что пользователь делает на других ресурсах, но и «опознать» его по аккаунту в сервисах Google Календарь и на YouTube. Хуже того, эта проблема затрагивает и режим частного доступа в Safari 15, так что Apple пора бы задуматься о выпуске патча.