Сбой в Blink вызывает десятки миллионов изменений DOM в секунду и крах браузера.

Исследователь Хосе Пино представил доказательство концепции уязвимости в движке рендеринга Blink, который используется в браузерах на базе Chromium, и показал, как одна веб-страница может за секунды вызвать отказ многих популярных браузеров и остановить работу устройства. Пино опубликовал код Brash, продемонстрировавший массовую деградацию интерфейса и полную заморозку вкладок на большинстве проверенных сборок Chromium.
Уязвимость связана с архитектурной особенностью обработки document.title — в Blink отсутствует ограничение скорости обновления заголовка документа, что позволяет скрипту в течение миллисекунд вносить миллионы изменений DOM и загружать главный поток. По методике Пино подготовка включает в память набор из сотни уникальных 512-символьных шестнадцатеричных строк, после чего выполняются краткие серии обновлений заголовка в высокочастотном режиме (пример конфигурации — «burst: 8000, interval: 1ms»), что даёт порядка десятков миллионов попыток изменений в секунду. В результате через 5–10 секунд вкладки перестают реагировать, к 15–60 секундам браузер падает или требует принудительного завершения процесса, а в отдельных тестах на Windows одна вкладка потребляла до 18 ГБ оперативной памяти и приводила к заморозке системы.
Пино тестировал PoC на 11 браузерах под Android, macOS, Windows и Linux — 9 оказались уязвимы; среди пострадавших названы Chrome, Edge, Vivaldi, Arc, Dia, Opera, Perplexity Comet, ChatGPT Atlas и Brave. Два браузера с другими движками — Firefox (Gecko) и Safari (WebKit) — не показали воспроизводимости атаки, равно как все сборки на iOS, где обязателен WebKit. Исследователь уведомил команду Chromium 28 августа и повторил сообщение 30 августа, однако оперативного ответа не получил, поэтому опубликовал PoC, чтобы привлечь внимание к проблеме в условиях публичного игнорирования.
Производители, использующие Chromium, имеют собственные изменения и расширения функционала, поэтому автор считает, что окончательное исправление может требовать адаптаций у каждой компании в отдельности — это увеличивает сложность и сроки устранения. На момент публикации уязвимость не имеет общедоступного идентификатора в базах угроз; отчёт и PoC размещены у автора на GitHub, а представители ряда вендоров пока не дали развёрнутых комментариев. Эксплуатация не раскрывает содержимое вкладок и не приводит к исполнению произвольного кода, однако способна вызвать потерю несохранённых данных и массовые сбои, потому любой посещаемый сайт может превратиться в источник отказа.