Vulnerabilidade en Adblock Plus que permite a execución de código cando se usan filtros cuestionables

No bloqueador de anuncios Adblock Plus identificado vulnerabilidade, permitindo organizar a execución de código JavaScript no contexto dos sitios, no caso de utilizar filtros non verificados preparados por atacantes (por exemplo, ao conectar conxuntos de regras de terceiros ou mediante a substitución de regras durante un ataque MITM).

Os autores de listas con conxuntos de filtros poden organizar a execución do seu código no contexto dos sitios abertos polo usuario engadindo regras co operador "reescribir", que lle permite substituír parte do URL. O operador de reescritura non che permite substituír o host no URL, pero si permite manipular libremente os argumentos da solicitude. Só se pode usar o texto como máscara de substitución e permítese a substitución de etiquetas de guión, obxecto e subdocumento bloqueado.

Non obstante, a execución de código pódese conseguir nunha solución alternativa.
Algúns sitios, incluídos Google Maps, Gmail e Google Images, usan a técnica de cargar dinámicamente bloques de JavaScript executables, transmitidos en forma de texto simple. Se o servidor permite a redirección de solicitudes, pódese realizar o reenvío a outro host cambiando os parámetros de URL (por exemplo, no contexto de Google, pódese facer unha redirección a través da API "google.com/search"). Ademais dos hosts que permiten a redirección, tamén se pode realizar un ataque contra servizos que permiten a publicación de contidos de usuarios (aloxamento de códigos, plataformas de publicación de artigos, etc.).

O método de ataque proposto só afecta ás páxinas que cargan dinámicamente cadeas de código JavaScript (por exemplo, mediante XMLHttpRequest ou Fetch) e que despois as executan. Outra limitación importante é a necesidade de utilizar unha redirección ou colocar datos arbitrarios no lado do servidor orixinal que emite o recurso. Non obstante, para demostrar a relevancia do ataque, móstrase como organizar a execución do teu código ao abrir maps.google.com, utilizando unha redirección a través de "google.com/search".

A corrección aínda está en preparación. O problema tamén afecta aos bloqueadores AdBlock и uBlock. O bloqueador de uBlock Origin non se ve afectado polo problema, xa que non admite o operador "rescribir". Nun tempo o autor de uBlock Origin
rexeitou engadir soporte para a reescritura, citando posibles problemas de seguridade e restricións insuficientes a nivel de host (propúxose unha opción querystrip en lugar de reescritura para limpar os parámetros de consulta en lugar de substituílos).

Os desenvolvedores de Adblock Plus consideran que os ataques reais son pouco probables, xa que todos os cambios nas listas estándar de regras son revisados ​​e a conexión de listas de terceiros é extremadamente rara entre os usuarios. A substitución de regras a través de MITM impídese polo uso predeterminado de HTTPS para descargar listas de bloqueo estándar (para outras listas está previsto prohibir a descarga vía HTTP nunha versión futura). As directivas pódense usar para bloquear un ataque no lado do sitio CSP (Política de seguranza de contidos), mediante a cal pode determinar de forma explícita os hosts desde os que se poden cargar recursos externos.

Fonte: opennet.ru

Engadir un comentario