flawopen.com/Teardowns/cve-2026-0628-chrome-gemini-webview-extension-policy
CVE-2026-0628: WebView Gemini в Chrome
CVE-2026-0628 позволяла расширению Chrome влиять на привилегированный WebView Gemini через DNR; обновите Chrome до 143.0.7499.192 или новее.[1], [3], [5]
Представьте Gemini Live как стойку обслуживания посетителей в библиотеке, за которой находится дверь только для сотрудников. Chrome не позволял расширениям проходить через эту дверь, но правило перенаправления доставки всё ещё могло подменить скрипт на стойке Gemini. Скрипт выполнялся на этой встроенной стойке, у которой был служебный канал для запроса возможностей браузера. В CVE-2026-0628 не хватало проверки на этом пути доставки.[2], [5]
Ключевые понятия и термины
Привилегированный WebView- Встроенная в браузер страницу, способная взаимодействовать с возможностями, недоступными обычным сайтам.[2], [5]
declarativeNetRequest (DNR)- API расширений Chrome, применяющий декларативные правила к совпадающим сетевым запросам, включая перенаправления и изменение заголовков ответа.[2], [6]
Связи со стандартами
- Ссылка CWE для слабого места, описанного в этом руководстве: CWE-862
Анализ первопричины
Google описывает CVE-2026-0628 как недостаточное применение политик в теге WebView Chrome. Согласно техническому отчёту Forever Security, Gemini Live использовал контролируемую браузером страницу chrome://glic, в которую через WebView встраивался gemini.google.com. Chromium запрещал расширениям взаимодействовать с самой привилегированной страницей, однако описанная ошибка позволяла расширению с declarativeNetRequest (DNR) влиять на подходящие HTTPS-запросы встроенной страницы. Исследователь описывает изменение заголовков ответа и подмену загружаемого скрипта, чтобы код выполнялся в origin встроенного Gemini и взаимодействовал с мостом браузерного агента. Так могла нарушаться граница между обычными правами расширения и возможностями привилегированной панели. В отчёте показан доступ к контексту страницы, локальным файлам и снимкам экрана; также описан возможный доступ к камере и микрофону. Это заявленные исследователем последствия, а не доказательство эксплуатации в реальных атаках. Для CVE пользователь должен установить вредоносное расширение. Google исправила границу WebView в Chrome 143.0.7499.192/.193 для Windows/macOS и .192 для Linux. Открытое исправление Chromium подтверждает границу: RulesetManager возвращает false, если request.is_web_view имеет значение true, до существующего разрешающего решения. Chromium добавил ChromeSignInWebViewTest.DeclarativeNetRequestRulesNotMatched; тест пропускает MPArch, поэтому эта архитектура им не охвачена.[3], [2], [5], [4]
Пошаговый сценарий атаки
Откройте браузерную поверхность агента
Gemini Live использует страницу браузера chrome://glic и встраивает веб-приложение Gemini в WebView. Эта страница может вызывать возможности, недоступные обычным сайтам.[2]
Получите доступ к привилегированному поведению страницы
Изменение политики ответа и загружаемого в origin Gemini кода позволяло продемонстрированной цепочке взаимодействовать с мостом браузерного агента. Исследователь сообщает о доступе к локальным файлам и снимкам экрана; публичных доказательств реальной эксплуатации нет.[2], [3]
Исходный код: Уязвимый vs Защищённый вариант
Это исходное изменение Chromium на C++, а не реконструкция эксплойта. Перед существующим разрешающим решением оно отклоняет запросы из WebView, поэтому правила Declarative Net Request к ним не применяются. Chromium также добавил ChromeSignInWebViewTest.DeclarativeNetRequestRulesNotMatched; этот браузерный тест пропускает MPArch и не подтверждает покрытие этой архитектуры.[5]
// Фрагмент: extensions/browser/api/declarative_net_request/ruleset_manager.cc
// До исправления эта заключительная проверка не учитывала происхождение запроса из WebView.
return true;
// Фрагмент: extensions/browser/api/declarative_net_request/ruleset_manager.cc
// Изменение Chromium 9722f06a перед существующим итоговым разрешением:
// Правила Declarative Net Request не должны применяться к запросам,
// исходящим из WebView.
if (request.is_web_view) {
return false;
}
return true;
Чек-лист по защите системы для инженеров
- ✓Обновите все управляемые каналы Chrome и операционные системы до актуальной стабильной версии; Google указывает 143.0.7499.192/.193 как первую исправленную версию.[1], [3]
- ✓Найдите расширения с
declarativeNetRequestи широкими разрешениями для хостов; удалите неутверждённые и неиспользуемые, используйте централизованный список разрешённых расширений.[6], [2] - ✓Если привилегированная страница встраивает другие origin, не считайте её URL достаточной границей изоляции; проверяйте полный контекст встроенного запроса.[2], [5]
- ✓Добавьте тесты браузера, подтверждающие, что перенаправления и изменения заголовков расширениями не влияют на ресурсы внутри привилегированных WebView браузера.[5]
- ✓В качестве эшелонированной меры защиты для интеграций с браузерными агентами оставляйте привилегированные операции за интерфейсом браузера, привязанным к источнику; для каждой операции проверяйте источник сообщения, идентификатор frame, тип запроса и состояние согласия пользователя.[2]
- ✓Отделяйте CVE от последующего исследования BragJack: более широкие выводы по другим браузерам не означают, что они подвержены той же CVE.[2], [4]
Источники
- Google Chrome Releases — обновление стабильного канала, 6 января 2026
- Forever Security — технический обзор BragJack, 16 сентября 2026
- GitHub Advisory — CVE-2026-0628 (CWE-862, CVSS 3.1 8.8)
- NVD — CVE-2026-0628
- Chromium source change 9722f06a — exclude WebView requests from DNR rules
- Chrome Extensions API — declarativeNetRequest