Google закрыла уязвимость в веб-обозревателе Chrome, которая могла раскрывать историю посещённых пользователем сайтов. Проблема существовала с начала 2000-х годов и была связана с тем, как браузеры отображают посещённые ссылки.

Источник изображения: Solen Feyissa / Unsplash
Чтобы отобразить ссылки, которые пользователь посещал ранее (они помечаются фиолетовым цветом), браузер должен отслеживать эти страницы с помощью каскадных таблиц стилей через селектор :visited. Как объяснили в Google, суть ошибки заключалась в том, что информация о том, какие ссылки пользователь уже посещал, сохранялась без разделения конфиденциальности между посещаемыми сайтами. То есть, любой сайт мог определить, была ли ранее нажата определённая ссылка, даже если она отображалась на совершенно другом ресурсе.

Источник изображения: developer.chrome.com
«Вы просматриваете сайт A и кликаете по ссылке на сайт B. Позже вы заходите на условно вредоносный сайт C, который тоже содержит ссылку на сайт B. Он может узнать, что вы уже были на сайте B, просто определив ссылку по цвету», — пояснили в Google.

Источник изображения: developer.chrome.com
В компании назвали это фундаментальной ошибкой дизайна браузера и подчеркнули, что она могла применяться для отслеживания активности пользователей в интернете. Уязвимость затрагивала не только Chrome, но и другие браузеры — в частности, Safari, Opera, Internet Explorer и Firefox, сообщает PCMag.
Впервые на проблему обратил внимание исследователь безопасности Эндрю Кловер (Andrew Clover) ещё в 2002 году. Он визуально продемонстрировал все этапы возможной атаки, опираясь на исследовательскую статью Принстонского университета «Timing Attacks on Web Privacy».
Исправление уже включено в бета-версию обновления Chrome 136. Теперь информация о посещённых ссылках будет храниться отдельно для каждого сайта и не будет передаваться между ресурсами.
Источники: