
Los investigadores descubrieron una falla en Opera GX, la versión del navegador Opera centrada en los juegos. Esta falla permite que sitios web maliciosos instalen silenciosamente complementos del navegador y los utilicen para robar ciertos datos de las páginas visitadas por las víctimas.
En una prueba de concepto, reconstruimos la dirección completa de Gmail de un usuario que inició sesión a partir de una sola visita sin clics. Opera solucionó el defecto y dice que no encontró evidencia de que se haya utilizado en la naturaleza.
Esta solución se incluye con Opera GX versión 130.0.5847.89, por lo que ya se aplica a los usuarios que utilizan la versión actual. Puedes comprobarlo en opera://about. No hay CVE.
Este ataque no requirió ningún clic ni aprobación, por lo que no había otra solución que un parche. El equipo de recompensas por errores de Opera ha calificado este problema como P1, el nivel de gravedad más alto, y ha pagado recompensas de hasta 5.000 dólares por errores críticos.
Cómo funciona el ataque
GX Mod te permite cambiar el diseño de Opera GX con sonidos, temas, fondos de pantalla y CSS personalizados para cambiar el estilo de los sitios que visitas. Estos se envían como archivos .crx, similares a las extensiones del navegador, pero no pueden ejecutar JavaScript y no tienen permisos.
La debilidad radica en el método de instalación. La canalización de modificaciones de Opera descarga y habilita modificaciones automáticamente sin solicitar aprobación. Por lo tanto, una página maliciosa podría instalarla silenciosamente, por ejemplo, cargando un iframe oculto que apunte a un archivo .crx.
La única indicación es una barra de notificación debajo de la barra de direcciones que le indica que se ha agregado un mod y un botón (Eliminar).
Este comportamiento de instalación automática no es nuevo. El investigador Renwa identificó esto en 2023 y lo usó para falsificar la barra de direcciones de un navegador escalando un mod instalado a una extensión completa. Opera parchó ese ataque en particular en marzo de 2023, pero dejó intacta la instalación automatizada subyacente. Ésta es la base de este nuevo estudio.
Las modificaciones silenciosas de apariencia y sensación parecen inofensivas por sí solas. Sin embargo, el CSS de un mod se aplica a cada página que visitas, no solo a una página. Las inyecciones regulares de CSS se limitan a la página a la que llegan. Aquí, el estilo del atacante afecta a todos los sitios que abre el navegador. Esta es una técnica que los investigadores llaman inyección CSS universal.
CSS no puede leer la página y enviarla por sí solo. Sin embargo, se les puede inducir a filtrar un valor a la vez. Este truco se basa en selectores de atributos. La regla prueba si el valor del atributo de un elemento comienza con un carácter específico, como un correo electrónico incrustado en un campo oculto, y solo entonces se puede recuperar la imagen de fondo del servidor del atacante. Dispara suficientes de estos y verás el valor de cada letra.
Los investigadores llaman a esto XS-Leak (abreviatura de fuga entre sitios). Para obtener direcciones de Gmail, los investigadores se dirigieron a la página de la cuenta de Google myaccount.google.com/contactemail, que contenía la dirección dentro de sus tres atributos HTML.

Incluyeron alrededor de 150.000 reglas CSS en el mod, un conjunto para cada parte de tres letras de una dirección, y un script de reconstrucción unió las coincidencias. Primero probaron una pieza de cuatro letras, que requería 5,6 millones de reglas y alrededor de 880 MB de CSS. El navegador murió, así que lo reduje a fragmentos de 3 caracteres que se superponen lo suficiente como para recomponerlos.
Sólo hizo falta una pequeña manipulación para encadenarlo. Cuando una víctima visita la página del atacante, el mod se instala en segundos y unas pocas líneas de JavaScript redirigen el navegador a la página de la cuenta de Google. Dado que el CSS del mod ya está cargado allí, se realiza una solicitud cuando se representa la página y la dirección se filtra antes de que la víctima pueda presionar el botón (eliminar) en la notificación.
La dirección de Gmail fue sólo una prueba de concepto. El mismo enfoque puede resaltar otros valores que su página expone en el marcado, como los nombres de usuario.
Hay un segundo uso, más burdo, de la misma ruta de instalación automática que han documentado los investigadores. Al cargar un .crx en modo privado (incógnito), el navegador se bloquea y se borran todas las pestañas abiertas. Esto afecta no sólo a Opera GX, sino también a Opera normal. Esto se debe a que todo lo que esté en el .crx activará el proceso de instalación de la extensión. El aviso de Opera menciona soluciones para el robo de datos, pero no fallas.
seriedad y panorama general
Este informe casi nunca cumplió su plazo. Opera ejecuta un programa de recompensas en Bugcrowd, pero los analistas de clasificación tuvieron dificultades para determinar cuál era el error e inicialmente lo calificaron como P3 moderado.
Los investigadores presentaron su argumento de una manera inusualmente directa. Mientras el analista reproducía el ataque, capturó su propio trigrama, reconstruyó su dirección de Gmail y la pegó en su informe. Luego, el equipo de Opera mejoró la gravedad a P1 y pagó el monto máximo del nivel crítico de $5,000.
La propia explicación de Opera es más cautelosa. La compañía dijo en el aviso que está «bastante segura» de que la vulnerabilidad nunca ha sido explotada en estado salvaje y que el ataque fue complejo de ejecutar. Las víctimas tenían que visitar sitios maliciosos, eventualmente instalar nuevas modificaciones e ignorar los avisos de eliminación hasta que se activaban las redirecciones.
La demostración de los investigadores es una contramedida. La redirección ocurre segundos antes de que el usuario pueda leer la notificación, y mucho menos hacer clic en «eliminar». Este fue un ataque limitado y engorroso del que Opera realmente no vio ningún rastro, pero una vez configurado, aún funcionó sin clics.
El riesgo aquí no es una característica superficial en sí misma. Fue un alcance. Una vez que el CSS de un mod fue portátil entre sitios, me di cuenta de que «simplemente diseñarlo» era suficiente.
Esta es una variación de una idea bien conocida. Al igual que el estudio de extracción ciega de CSS de PortSwigger, el robo de solo CSS generalmente se limita a la página inyectada, pero aquí penetra en todos los sitios que abre la víctima.
Y esta no es la primera vez que las funciones de Opera se vuelven contra los usuarios. Hacker News cubrió el error MyFlaw de 2024 en My Flow de Opera, y Opera ha sido advertida sobre este comportamiento de instalación automática desde 2023.
Source link
