Программная ошибка в реализации API IndexedDB в Apple Safari 15 может быть использована вредоносным веб-сайтом для отслеживания онлайн-активности пользователей в веб-браузере и, что еще хуже, даже для раскрытия их личности.
Уязвимость, получившая название «IndexedDB Leaks», была раскрыта компанией FingerprintJS, которая сообщила о проблеме производителю iPhone 28 ноября 2021 года.
IndexedDB - это низкоуровневый интерфейс программирования приложений JavaScript (API), предоставляемый веб-браузерами для управления базой данных NoSQL структурированных объектов, таких как файлы и блобы.
«Как и большинство веб-хранилищ, IndexedDB придерживается политики same-origin» - отмечает Mozilla в своей документации к API. «Поэтому, хотя вы можете получить доступ к хранимым данным в пределах домена, вы не можете получить доступ к данным в разных доменах».
Same-origin - это фундаментальный механизм безопасности, который гарантирует, что ресурсы, получаемые из разных источников - т.е. комбинации схемы (протокола), хоста (домена) и номера порта URL - изолированы друг от друга. Это фактически означает, что «https://example[.]com/» и «https://example[.]com/» не имеют одинакового происхождения, поскольку используют разные схемы.
Ограничение того, как скрипт, загруженный одним источником, может взаимодействовать с ресурсом другого источника, позволяет изолировать потенциально вредоносные сценарии и снизить количество потенциальных векторов атак, не позволяя мошенническому веб-сайту запускать произвольный код JavaScript для чтения данных из другого домена, например, из почтового сервиса.
***тут встроенное видео https://www.youtube.com
Но это не относится к тому, как Safari работает с API IndexedDB в iOS, iPadOS и macOS.
«В Safari 15 на macOS, а также во всех браузерах на iOS и iPadOS 15, API IndexedDB нарушает политику same-origin» - сообщил Мартин Баджаник в своей статье . «Каждый раз, когда веб-сайт взаимодействует с базой данных, новая (пустая) база данных с тем же именем создается во всех других активных фреймах, вкладках и окнах в рамках одной сессии браузера».
Следствием этого нарушения конфиденциальности является то, что оно позволяет веб-сайтам узнать, какие другие веб-сайты посещает пользователь в разных вкладках или окнах, не говоря уже о точной идентификации пользователей в таких службах Google, как YouTube и Google Calendar, поскольку эти веб-сайты создают базы данных IndexedDB, включающие аутентифицированные идентификаторы пользователей Google, которые являются внутренним идентификатором, однозначно идентифицирующим аккаунт Google.
«Это не только означает, что ненадежные или вредоносные веб-сайты могут узнать личность пользователя, но и позволяет связать вместе несколько отдельных учетных записей, используемых одним и тем же пользователем» - заявил Баяник.
Что еще хуже, утечка также затрагивает режим Private Browsing в Safari 15, если пользователь посещает несколько различных веб-сайтов с одной и той же вкладки в окне браузера.
«Это серьезнейшая уязвимость» - написал в Твиттере представитель разработчиков Google Chrome Джейк Арчибальд. «На OSX пользователи Safari могут временно переключиться на другой браузер, чтобы избежать утечки данных. У пользователей iOS нет такого выбора, потому что Apple накладывает запрет на сторонние браузерные движки».
Источник: https://thehackernews.com