Vulnerabilidad en Adblock Plus que permite la ejecución de código al utilizar filtros cuestionables

En el bloqueador de anuncios Adblock Plus identificado vulnerabilidad, permitiendo organizar la ejecución de código JavaScript en el contexto de los sitios, en el caso de utilizar filtros no verificados preparados por atacantes (por ejemplo, al conectar conjuntos de reglas de terceros o mediante la sustitución de reglas durante un ataque MITM).

Los autores de listas con conjuntos de filtros pueden organizar la ejecución de su código en el contexto de los sitios abiertos por el usuario agregando reglas con el operador "volver a escribir", que le permite reemplazar parte de la URL. El operador de reescritura no le permite reemplazar el host en la URL, pero sí le permite manipular libremente los argumentos de la solicitud. Sólo se puede utilizar texto como máscara de reemplazo y se permite la sustitución de etiquetas de script, objetos y subdocumentos. esta bloqueado.

Sin embargo, la ejecución del código se puede lograr mediante una solución alternativa.
Algunos sitios, incluidos Google Maps, Gmail y Google Images, utilizan la técnica de cargar dinámicamente bloques de JavaScript ejecutables, transmitidos en forma de texto sin formato. Si el servidor permite la redirección de solicitudes, entonces se puede lograr la redirección a otro host cambiando los parámetros de la URL (por ejemplo, en el contexto de Google, se puede realizar una redirección a través de la API "google.com/búsqueda"). Además de los hosts que permiten la redirección, también se puede atacar a servicios que permiten la publicación de contenidos de los usuarios (alojamiento de códigos, plataformas de publicación de artículos, etc.).

El método de ataque propuesto solo afecta a las páginas que cargan dinámicamente cadenas de código JavaScript (por ejemplo, a través de XMLHttpRequest o Fetch) y luego las ejecutan. Otra limitación importante es la necesidad de utilizar una redirección o colocar datos arbitrarios en el lado del servidor original que emite el recurso. Sin embargo, para demostrar la relevancia del ataque, se muestra cómo organizar la ejecución de su código al abrir maps.google.com, utilizando una redirección a través de “google.com/search”.

La solución aún está en preparación. El problema también afecta a los bloqueadores AdBlock и uBlock. El bloqueador uBlock Origin no se ve afectado por el problema, ya que no admite el operador "reescritura". Hubo un tiempo en que el autor de uBlock Origin
Me niego agregue soporte para reescribir, citando posibles problemas de seguridad y restricciones insuficientes a nivel de host (se propuso una opción de querystrip en lugar de reescribir para limpiar los parámetros de consulta en lugar de reemplazarlos).

Los desarrolladores de Adblock Plus consideran que los ataques reales son poco probables, ya que se revisan todos los cambios en las listas de reglas estándar y la conexión de listas de terceros es extremadamente rara entre los usuarios. La sustitución de reglas a través de MITM se evita mediante el uso predeterminado de HTTPS para descargar listas de bloqueo estándar (para otras listas está previsto prohibir la descarga a través de HTTP en una versión futura). Se pueden utilizar directivas para bloquear un ataque en el lado del sitio. CSP (Política de seguridad de contenido), a través de la cual se pueden determinar explícitamente los hosts desde donde se pueden cargar los recursos externos.

Fuente: opennet.ru

Añadir un comentario