Спецпроекты

Безопасность Бизнес Техника

Игнорируемая проблема в Safari приводит к утечке данных из аккаунтов Google

Уязвимость в API браузера Safari открывает возможность утечки данных с одного сайта на другой в рамках одной и той же сессии. Разработчики Safari не реагируют на проблему уже несколько месяцев.

Без правил

Неправильно реализованный API в браузере Safari приводит к утечке некоторых важных данных, например информации из аккаунтов Google.

Уязвимость в Safari 15 обнаружилась с помощью сервиса по выявлению мошенничества Fingerprint JS. Информация была передана разработчикам WebKit еще осенью 2021 г. Проблема с тех пор так и не была решена, так что команда Fingerprint JS вывела информацию о баге в публичное поле.

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

google1_600.jpg
Баг в Safari угрожает пользователям сервисов Google

Однако в случае с Safari 15, как выяснили эксперты Fingerprint JS, правило ограничения домена нарушается. Когда веб-сайт взаимодействует с базой данных в Safari, новая (пустая) база данных с тем же названием создается во всех прочих активных фреймах, вкладках и окнах в рамках одной и той же браузерной сессии. Это означает, что веб-сайты могут видеть имена других баз данных, созданных на других сайтах, а эти имена могут содержать идентифицирующую информацию.

Проблема затрагивает популярные сайты

В публикации Fingerprint JS утверждается, что сайты, использующие аккаунт в Google: YouTube, Google Calendar, Google Keep и т. д. генерируют базы данных, содержащие в названии уникальный пользовательский идентификатор Google. Он открывает доступ к публичной информации, а уязвимость может привести к тому, что эти сведения станут доступны другим веб-сайтам.

FingerprintJS запустили сайт, на котором демонстрируется, как с помощью уязвимости можно определить, какие сайты посещал пользователь, и как другие сайты могут извлекать информацию из пользовательского Google User ID. На сайте указаны 30 популярнейших ресурсов, в том числе Instagram, Netflix, Twitter и др., которые может затрагивать данная уязвимость.

Баг можно эксплуатировать и когда Safari работает в безопасном режиме (Private Browsing). Единственная рекомендация экспертов Fingerprint JS — перейти на другой браузер, пока проблема в Safari не будет устранена.

«Таких ресурсов, несомненно, намного больше, просто FingerprintJS для наглядности ограничились наиболее популярными, — говорит Анастасия Мельникова, директор по информационной безопасности компании SEQ. — Проблема, однако, не в сайтах, а в некорректной реализации популярного API в конкретном браузере. Очень странно, что его разработчики до сих пор не отреагировали на проблему — она может затрагивать интересы очень большого числа пользователей».

Роман Георгиев

Короткая ссылка