El fallo está presente en el motor de renderizado Blink, que es empleado no solo por Google Chrome, sino también por su “padre”, Chromium, y otros derivados de este último como Vivaldi, Opera y Brave. Permite a los atacantes inyectar contenidos en los navegadores de los usuarios incautos mediante la utilización de las mencionadas etiquetas utilizadas.

Según el investigador tras el descubrimiento, las etiquetas pueden ser utilizadas como parte de un script dentro de una aplicación web de escritorio que genera peticiones a los recursos del objetivo, pudiendo ser dicha aplicación el sitio web de Facebook, Google y muchos otros, a la vez que las respuestas a dichas solicitudes pueden ser utilizadas para introducir datos que luego son mostrados al usuario infectado. Esto es debido a que el fallo permite a los atacantes calcular el tamaño de una página de origen cruzado usando etiquetas de audio y vídeo.

Entrando en detalles, el atacante podría mediante un script enviar peticiones a una página de Facebook que tiene una audiencia restringida, por ejemplo a nivel geográfico. A partir de ahí puede evaluar si la víctima es de un determinado lugar viendo si puede acceder o no a la página. Utilizando esta técnica puede hallar otros muchos detalles, como el sexo, los “me gusta” o el historial de ubicaciones, pudiendo llevar a cabo hasta 20 comprobaciones diferentes. Las afirmaciones de verdadero o cierto se obtendrían según el tamaño de la respuesta, siendo falsa en caso de ser pequeña y verdadera en caso de ser grande. La información que se puede obtener de esta manera es bastante precisa, independiente de la configuración establecida en las opciones de privacidad.

Ron Masas, quien ha descubierto esta vulnerabilidad en el motor de renderizado Blink, ha dicho que estaba investigando el mecanismo de Compartición de Recursos de Origen Cruzado (CORS) mediante la verificación de las comunicaciones de origen cruzado de diferentes etiquetas HTML. Con las de vídeo y audio “parece establecer que el atributo ‘precarga’ de ‘metadatos’ cambió las veces que el evento ‘en progreso’ fue llamado, de una manera que parecía estar relacionada con el tamaño del recurso solicitado”. Para ello, creó un servidor HTTP con NodeJS que generaba una respuesta en el tamaño del parámetro dado, creando el script un elemento oculto de audio capaz de solicitar un recurso dado, seguir el número de veces que el evento ‘en progreso’ (onprogress) ha sido activado y devuelve el valor del contador una vez que el análisis del audio falla.

El fallo hallado en Blink ha sido corregido en Chrome/Chromium 68, por lo que los usuarios de cualquier versión anterior son vulnerables.

 

Fuente: ThreatPost | muyseguridad