Google наконец-то устранила давнюю уязвимость в браузере Chrome, которая позволяла сайтам определять, какие страницы вы посещали. Всё дело в работе механизма отображения посещённых ссылок: клик по ссылке менял её цвет с синего на фиолетовый благодаря CSS-селектору :visited. На первый взгляд — просто визуальная подсказка. На деле — способ отслеживания истории просмотров без вашего ведома.
Этот механизм не был безобидным. Исследователи в течение многих лет демонстрировали целый спектр атак, использующих этот визуальный сигнал — от анализа времени загрузки элементов до считывания изменений пикселей и даже межпроцессных атак. Всё это позволяло сайтам незаметно собирать данные о вашей активности.
Начиная с версии Chrome 136, Google внедряет новый подход — «тройную изоляцию». Теперь информация о том, посещена ли ссылка, будет привязана не только к самому URL, но и к домену в адресной строке и источнику фрейма. Это означает, что сайт больше не сможет "угадывать", открывали ли вы ту или иную ссылку где-то ещё — если контекст не совпадает, статус :visited просто не сработает.
Тем не менее, для внутренних ссылок сайта сделано исключение — если вы перешли на страницу сайта с другого ресурса, она всё равно будет отмечена как посещённая. По мнению разработчиков, это не нарушает приватность, ведь сам сайт и так знает, какие его страницы вы посещали.
Полностью отключать :visited в Chrome не стали: он важен для удобства навигации. Также был отклонён вариант с ручной системой разрешений — его можно было бы легко обойти или использовать для давления на пользователя.
Функция изоляции была доступна в тестовом режиме ещё с Chrome 132, а теперь станет активной по умолчанию. Это закроет уязвимость, которая оставалась открытой почти 20 лет.
Другие браузеры пока не предлагают столь надёжного решения. Firefox ограничивает работу стилей для :visited, а Safari применяет систему Intelligent Tracking Prevention, но архитектурной изоляции, как в новом Chrome, у них нет. Таким образом, Google стала первой, кто реализовал полноценную защиту от слежки через цвет ссылок.
Это обновление — важный шаг к приватности и напоминание: даже очевидные риски могут оставаться неустранёнными годами из-за тонкого баланса между удобством и безопасностью.
Этот механизм не был безобидным. Исследователи в течение многих лет демонстрировали целый спектр атак, использующих этот визуальный сигнал — от анализа времени загрузки элементов до считывания изменений пикселей и даже межпроцессных атак. Всё это позволяло сайтам незаметно собирать данные о вашей активности.
Начиная с версии Chrome 136, Google внедряет новый подход — «тройную изоляцию». Теперь информация о том, посещена ли ссылка, будет привязана не только к самому URL, но и к домену в адресной строке и источнику фрейма. Это означает, что сайт больше не сможет "угадывать", открывали ли вы ту или иную ссылку где-то ещё — если контекст не совпадает, статус :visited просто не сработает.
Тем не менее, для внутренних ссылок сайта сделано исключение — если вы перешли на страницу сайта с другого ресурса, она всё равно будет отмечена как посещённая. По мнению разработчиков, это не нарушает приватность, ведь сам сайт и так знает, какие его страницы вы посещали.
Полностью отключать :visited в Chrome не стали: он важен для удобства навигации. Также был отклонён вариант с ручной системой разрешений — его можно было бы легко обойти или использовать для давления на пользователя.
Функция изоляции была доступна в тестовом режиме ещё с Chrome 132, а теперь станет активной по умолчанию. Это закроет уязвимость, которая оставалась открытой почти 20 лет.
Другие браузеры пока не предлагают столь надёжного решения. Firefox ограничивает работу стилей для :visited, а Safari применяет систему Intelligent Tracking Prevention, но архитектурной изоляции, как в новом Chrome, у них нет. Таким образом, Google стала первой, кто реализовал полноценную защиту от слежки через цвет ссылок.
Это обновление — важный шаг к приватности и напоминание: даже очевидные риски могут оставаться неустранёнными годами из-за тонкого баланса между удобством и безопасностью.