flawopen.com/Teardowns/cve-2026-0628-chrome-gemini-webview-extension-policy
CVE-2026-0628: Extensão no WebView Gemini
A CVE-2026-0628 permitia que uma extensão do Chrome interferisse no WebView do Gemini via DNR; atualize para 143.0.7499.192 ou posterior.[1], [3], [5]
Imagine o Gemini Live como um balcão de atendimento ao público dentro de uma biblioteca, com uma porta restrita aos funcionários atrás dele. O Chrome impedia extensões de entrar por essa porta, mas uma regra de redirecionamento de entregas ainda podia substituir um script no balcão Gemini. O script executava nesse balcão incorporado, que tinha uma passagem de serviço para solicitar recursos do navegador. A CVE-2026-0628 era a verificação ausente nessa rota de entrega.[2], [5]
Conceitos Centrais e Termos
WebView privilegiado- Página incorporada a uma área controlada pelo navegador que pode se comunicar com recursos indisponíveis a sites comuns.[2], [5]
declarativeNetRequest (DNR)- API de extensões do Chrome que aplica regras declarativas a solicitações de rede correspondentes, incluindo redirecionamentos e alterações de cabeçalhos.[2], [6]
Mapeamentos de frameworks
- Referência CWE para a fraqueza descrita neste guia: CWE-862
Análise de Causa Raiz
O Google descreve a CVE-2026-0628 como aplicação insuficiente de políticas na tag WebView do Chrome. A análise técnica da Forever Security diz que o Gemini Live usava a página controlada pelo navegador chrome://glic, que incorporava gemini.google.com em um WebView. O Chromium bloqueava a interação da extensão com a página privilegiada, mas a falha relatada permitia que uma extensão com declarativeNetRequest (DNR) influenciasse solicitações HTTPS correspondentes feitas pela página incorporada. O pesquisador descreve a alteração de cabeçalhos e a substituição de um script para executar código na origem Gemini incorporada e interagir com a ponte do agente do navegador. Isso podia atravessar o limite entre permissões comuns de extensão e recursos expostos ao painel privilegiado. O relatório demonstra acesso ao contexto da página, conteúdo de arquivos locais e capturas de tela, e descreve possível acesso a câmera/microfone; trate isso como impacto relatado por pesquisador, não como evidência de exploração real. A CVE exige que o usuário instale uma extensão maliciosa. O Google corrigiu o limite de política no Chrome 143.0.7499.192/.193 para Windows/macOS e .192 para Linux. A correção pública do Chromium confirma o limite: RulesetManager retorna false quando request.is_web_view é true, antes da decisão de permitir existente. O Chromium adicionou ChromeSignInWebViewTest.DeclarativeNetRequestRulesNotMatched; o teste ignora MPArch, portanto essa arquitetura não é coberta por este teste de regressão.[3], [2], [5], [4]
Fluxo de Ataque Passo a Paso
Abra a área do agente do navegador
O Gemini Live usa a página do navegador chrome://glic e incorpora o app web do Gemini em um WebView. A página pode chamar recursos indisponíveis a sites comuns.[2]
Código-Fonte: Vulnerável vs. Seguro
Esta é a alteração C++ do Chromium, não uma reconstrução de exploit. Ela nega solicitações originadas em WebView antes da decisão de permitir existente, impedindo que regras Declarative Net Request correspondam a elas. O Chromium também adicionou ChromeSignInWebViewTest.DeclarativeNetRequestRulesNotMatched; esse teste de navegador ignora MPArch e, portanto, não comprova cobertura para essa arquitetura.[5]
// Trecho: extensions/browser/api/declarative_net_request/ruleset_manager.cc
// Antes da correção, esta decisão final não verificava se a origem era um WebView.
return true;
// Trecho: extensions/browser/api/declarative_net_request/ruleset_manager.cc
// Alteração do Chromium 9722f06a, antes da autorização final existente:
// As regras do Declarative Net Request não devem ser aplicadas a requisições
// originadas de WebViews.
if (request.is_web_view) {
return false;
}
return true;
Lista de Verificação de Segurança para Engenharia
- ✓Atualize todos os canais e sistemas gerenciados do Chrome para a versão estável atual; o Google lista 143.0.7499.192/.193 como primeira versão corrigida.[1], [3]
- ✓Inventarie extensões com
declarativeNetRequeste permissões amplas de host; remova extensões não aprovadas ou sem uso e prefira listas de permissão gerenciadas.[6], [2] - ✓Não considere o URL de uma página privilegiada do navegador isolamento suficiente quando ela incorpora outras origens; aplique a política de extensões ao contexto completo da solicitação incorporada.[2], [5]
- ✓Crie testes do navegador para garantir que redirecionamentos e alterações de cabeçalhos de extensões não afetem recursos dentro de WebViews privilegiados do navegador.[5]
- ✓Como regra de defesa em profundidade para integrações com agentes de navegador, mantenha operações privilegiadas atrás de uma interface do navegador vinculada à origem; valide a origem da mensagem, a identidade do frame, o tipo de solicitação e o estado do consentimento do usuário em cada operação.[2]
- ✓Separe a CVE da pesquisa BragJack posterior: os achados mais amplos em outros navegadores não significam que esses produtos tenham esta CVE.[2], [4]
Fontes
- Google Chrome Releases — Atualização do canal estável, 6 de janeiro de 2026
- Forever Security — Análise técnica BragJack, 16 de setembro de 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