Google опубликовала код эксплойта для уязвимости Chromium, которая к тому моменту оставалась неисправленной уже 29 месяцев. Проблема затрагивает Chrome, Microsoft Edge и почти все браузеры на базе Chromium, а для русскоязычных команд это еще одно напоминание: браузер давно стал частью корпоративной поверхности атаки, а не просто окном в интернет.
О случившемся сообщает Ars Technica. По данным издания, в среду Google раскрыла в баг-трекере Chromium proof-of-concept для уязвимости, о которой независимая исследовательница Лира Ребейн сообщила компании еще в конце 2022 года. Сначала она решила, что баг наконец закрыли, но вскоре выяснилось обратное: патча нет, а код для эксплуатации уже успели опубликовать. Позже запись удалили, однако копии, как это обычно бывает в интернете, сохранились в архивах.
Проблема связана с API фоновой загрузки, которое позволяет браузеру скачивать большие файлы, например видео, в фоне. В представленном сценарии атаки вредоносный сайт запускает JavaScript, который открывает service worker и удерживает соединение активным в течение долгого времени. В зависимости от конкретного браузера такое соединение либо восстанавливается, либо вообще не исчезает даже после перезапуска самого браузера или устройства. Для пользователя компрометация выглядит не как классический взлом, а скорее как навязчивый баг: непонятно откуда открывается окно загрузок, а дальше система живет своей жизнью.
Но неприятность здесь не в эстетике, а в модели злоупотребления. Эксплойт не дает атакующему полного контроля над компьютером и не пробивает привычные защитные границы браузера, зато превращает устройство в ограниченный, но вполне рабочий узел ботнета. Через такой канал можно использовать браузер как анонимный прокси, открывать сайты от имени жертвы, запускать проксированные DDoS-атаки и наблюдать за частью пользовательской активности. Любой сайт, который посетил человек, теоретически может попытаться это сделать. По сути, речь идет о «полубэкдоре» внутри браузера: возможностей меньше, чем у полноценного малвари, но для массовых злоупотреблений этого более чем достаточно.
Почему история выглядит особенно плохо
Во внутренней переписке разработчиков Chromium, на которую ссылается Ars Technica, уязвимость называли серьезной. Ей присвоили уровень S1 — это вторая по критичности категория в их классификации. И вот здесь начинается самая неудобная часть истории: между приватным отчетом и публичной публикацией кода прошло 29 месяцев. Все это время о проблеме знали только разработчики Chromium и сама исследовательница. Затем код эксплуатации внезапно оказался в открытом доступе до выхода исправления.
Ребейн, судя по пересказу Ars Technica, считает, что причиной затяжки могло стать неочевидное восприятие риска внутри Google. Уязвимость не позволяет сразу читать чужую почту или захватывать машину, а значит, могла не выглядеть как «классическая катастрофа» для команд, распределяющих приоритеты. Но как раз такие истории и опасны: если баг не ломает очевидную границу безопасности, его проще недооценить, хотя на практике он дает удобный инфраструктурный слой для будущих атак. Исследовательница отдельно подчеркивает, что самое неприятное здесь — возможность собрать большое количество браузеров в одну сеть и ждать следующей уязвимости, которая расширит возможности злоумышленников.
Google на момент публикации статьи Ars Technica не объяснила, как именно код оказался опубликован до выхода патча и когда ждать исправление. С точки зрения безопасной разработки это выглядит как двойная проблема. Во-первых, есть сам баг. Во-вторых, есть сбой в процессе disclosure: компания фактически выдала рабочий образец атаки для проблемы, которая все еще присутствует в продакшене. Для экосистемы Chromium это особенно чувствительно, потому что один и тот же движок лежит под большим числом браузеров, а значит, ошибка быстро масштабируется за пределы Chrome.
Что это значит для браузеров, команд и бизнеса
Среди уязвимых браузеров Ребейн подтвердила Brave, Opera, Vivaldi и Arc. Firefox и Safari в эту историю не попадают просто потому, что не поддерживают соответствующую функцию фоновой загрузки. Это важный нюанс для продуктовых и инфраструктурных команд: риск связан не с «интернетом вообще», а с конкретной реализацией в семействе Chromium. Если в компании стандартизирован парк браузеров на одном движке, диверсификация тут внезапно перестает быть академическим разговором архитекторов и превращается в практический вопрос отказоустойчивости и безопасности.
Признаки эксплуатации довольно расплывчаты. В Edge, как пишет Ars Technica, атака особенно плохо заметна: JavaScript может открыть выпадающее окно загрузок, но без явных записей, а при следующих запусках браузера окно может уже не появляться. В Chrome индикатор загрузок заметнее и дольше держится на виду. Проблема в том, что большинство пользователей сочтет это мелким сбоем интерфейса, а не симптомом компрометации. Для корпоративной среды это неприятный сценарий: helpdesk получает жалобы на странное поведение браузера, а за ними может стоять не баг верстки, а паразитное сетевое соединение.
Для разработчиков и IT-руководителей из этой истории следует несколько практических выводов. Во-первых, браузерные API, которые долго считались сугубо пользовательскими удобствами, все чаще становятся частью реальной модели угроз. Во-вторых, зависимость от Chromium означает зависимость не только от скорости релизов Google, но и от качества ее внутренних процессов по приоритизации уязвимостей. В-третьих, даже «неполный» захват браузера уже достаточен, чтобы использовать рабочие машины как прокси-инфраструктуру или строительный материал для DDoS-сетей. Это не тот случай, где можно отмахнуться фразой «ну это же не RCE».
Открытый вопрос теперь не в том, существует ли уязвимость Chromium, а в том, сколько времени экосистема проживет между публикацией эксплойта и массовым распространением патча по всем производным браузерам. Для рынка это неприятный, но полезный стресс-тест: он показывает, что даже крупнейший браузерный стек может месяцами носить серьезную проблему, а затем еще и получить публичный код эксплуатации раньше исправления. Для тех, кто строит продукты и процессы вокруг Chromium, это повод смотреть не только на CVE и апдейты, но и на то, насколько быстро поставщик умеет не создавать лишнюю работу атакующим.