flawopen.com/Teardowns/cve-2026-0628-chrome-gemini-webview-extension-policy
CVE-2026-0628: Extensión WebView Gemini
CVE-2026-0628 permitía a una extensión de Chrome afectar el WebView privilegiado de Gemini mediante DNR; actualiza a 143.0.7499.192 o posterior.[1], [3], [5]
Imagina Gemini Live como un mostrador de atención al público dentro de una biblioteca, con una puerta reservada al personal detrás. Chrome impedía que las extensiones cruzaran esa puerta, pero una regla para desviar entregas aún podía sustituir un script en el mostrador de Gemini. El script se ejecutaba en ese mostrador integrado, que tenía una ventanilla de servicio para solicitar capacidades del navegador. CVE-2026-0628 era la comprobación que faltaba en esa ruta de entrega.[2], [5]
Conceptos Clave y Términos
WebView privilegiado- Página integrada en una superficie controlada por el navegador que puede comunicarse con capacidades inaccesibles para sitios comunes.[2], [5]
declarativeNetRequest (DNR)- API de extensiones de Chrome que aplica reglas declarativas a solicitudes de red coincidentes, incluidos redireccionamientos y cambios de encabezados.[2], [6]
Mapeos de marcos
- Referencia CWE para la debilidad descrita en esta guía: CWE-862
Análisis de Causa Raíz
Google describe CVE-2026-0628 como aplicación insuficiente de políticas en la etiqueta WebView de Chrome. El análisis técnico de Forever Security explica que Gemini Live usaba la página controlada por el navegador chrome://glic, que incorporaba gemini.google.com en un WebView. Chromium impedía la interacción de extensiones con la página privilegiada, pero el fallo descrito permitía que una extensión con declarativeNetRequest (DNR) influyera en solicitudes HTTPS coincidentes de la página integrada. El investigador describe cambiar encabezados de respuesta y sustituir un script para ejecutar código en el origen Gemini integrado e interactuar con el puente del agente del navegador. Esto podía cruzar el límite entre los permisos normales de una extensión y las capacidades disponibles para el panel privilegiado. El informe demuestra acceso al contexto de la página, contenido de archivos locales y capturas; también describe posible acceso a cámara/micrófono. Es impacto comunicado por el investigador, no evidencia de explotación real. La CVE requiere que el usuario instale una extensión maliciosa. Google corrigió el límite de WebView en Chrome 143.0.7499.192/.193 para Windows/macOS y .192 para Linux. La corrección pública de Chromium confirma el límite: RulesetManager devuelve false cuando request.is_web_view es true, antes de la decisión de permitir existente. Chromium añadió ChromeSignInWebViewTest.DeclarativeNetRequestRulesNotMatched; la prueba omite MPArch, por lo que esa arquitectura no queda cubierta por esta regresión.[3], [2], [5], [4]
Flujo de Ataque Paso a Paso
Abre la superficie del agente
Gemini Live usa la página del navegador chrome://glic e integra la aplicación web de Gemini en un WebView. La página puede invocar capacidades inaccesibles para sitios comunes.[2]
Código Fuente: Vulnerable vs. Seguro
Este es el cambio C++ de Chromium, no una reconstrucción de un exploit. Añade una comprobación que deniega las solicitudes originadas en WebView antes de la decisión de permitir existente, evitando que las reglas Declarative Net Request coincidan con ellas. Chromium también añadió ChromeSignInWebViewTest.DeclarativeNetRequestRulesNotMatched; esa prueba de navegador omite MPArch, por lo que no demuestra cobertura para esa arquitectura.[5]
// Fragmento: extensions/browser/api/declarative_net_request/ruleset_manager.cc
// Antes de la corrección, esta decisión final no comprobaba si el origen era un WebView.
return true;
// Fragmento: extensions/browser/api/declarative_net_request/ruleset_manager.cc
// Cambio de Chromium 9722f06a, antes de la autorización final existente:
// Las reglas de Declarative Net Request no deben aplicarse a solicitudes
// que se originen en WebViews.
if (request.is_web_view) {
return false;
}
return true;
Lista de Verificación de Seguridad para Ingeniería
- ✓Actualiza todos los canales y sistemas Chrome administrados a la versión estable actual; Google indica 143.0.7499.192/.193 como la primera versión corregida.[1], [3]
- ✓Inventaría extensiones con
declarativeNetRequesty permisos de host amplios; elimina las no aprobadas o sin uso y usa listas de permitidos administradas.[6], [2] - ✓No consideres que la URL de una página privilegiada basta para aislarla cuando integra otros orígenes; aplica la política de extensiones al contexto completo de la solicitud integrada.[2], [5]
- ✓Añade pruebas del navegador para confirmar que las extensiones no puedan redirigir solicitudes ni cambiar encabezados de recursos dentro de WebViews privilegiados.[5]
- ✓Como regla de defensa en profundidad para integraciones con agentes de navegador, mantén las operaciones privilegiadas detrás de una interfaz del navegador vinculada al origen; valida el origen del mensaje, la identidad del frame, el tipo de solicitud y el estado del consentimiento del usuario en cada operación.[2]
- ✓Distingue la CVE de la investigación BragJack posterior: los hallazgos más amplios en otros navegadores no significan que compartan esta CVE.[2], [4]
Fuentes
- Google Chrome Releases — Actualización del canal estable, 6 de enero de 2026
- Forever Security — Análisis técnico de BragJack, 16 de septiembre 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