Vulnerabilidade no Adblock Plus que permite a execução de código ao usar filtros questionáveis

No bloqueador de anúncios Adblock Plus identificado vulnerabilidade, permitindo organizar a execução de código JavaScript no contexto de sites, no caso de utilização de filtros não verificados preparados por invasores (por exemplo, ao conectar conjuntos de regras de terceiros ou por meio de substituição de regras durante um ataque MITM).

Os autores de listas com conjuntos de filtros podem organizar a execução de seu código no contexto dos sites abertos pelo usuário adicionando regras com o operador "reescrever", que permite substituir parte do URL. O operador rewrite não permite substituir o host na URL, mas permite manipular livremente os argumentos da solicitação. Somente texto pode ser usado como máscara de substituição, e a substituição de tags de script, objeto e subdocumento é permitida está bloqueado.

No entanto, a execução do código pode ser alcançada por meio de uma solução alternativa.
Alguns sites, incluindo Google Maps, Gmail e Google Images, utilizam a técnica de carregamento dinâmico de blocos JavaScript executáveis, transmitidos na forma de texto simples. Se o servidor permitir o redirecionamento da solicitação, o encaminhamento para outro host poderá ser feito alterando os parâmetros do URL (por exemplo, no contexto do Google, um redirecionamento pode ser feito por meio da API "google.com/search"). Além dos hosts que permitem o redirecionamento, também pode ser realizado um ataque contra serviços que permitem a postagem de conteúdo do usuário (hospedagem de código, plataformas de postagem de artigos, etc.).

O método de ataque proposto afeta apenas páginas que carregam dinamicamente strings de código JavaScript (por exemplo, via XMLHttpRequest ou Fetch) e depois as executam. Outra limitação importante é a necessidade de usar um redirecionamento ou colocar dados arbitrários no lado do servidor original que emitiu o recurso. Porém, para demonstrar a relevância do ataque, é mostrado como organizar a execução do seu código ao abrir o maps.google.com, utilizando um redirecionamento através de “google.com/search”.

A correção ainda está em preparação. O problema também afeta bloqueadores AdBlock и uBlock. O bloqueador uBlock Origin não é afetado pelo problema, pois não suporta o operador “rewrite”. Ao mesmo tempo, o autor de uBlock Origin
recusou adicionar suporte para reescrita, citando possíveis problemas de segurança e restrições insuficientes no nível do host (uma opção querystrip foi proposta em vez de reescrever para limpar os parâmetros de consulta em vez de substituí-los).

Os desenvolvedores do Adblock Plus consideram ataques reais improváveis, uma vez que todas as alterações nas listas de regras padrão são revisadas e a conexão de listas de terceiros é extremamente rara entre os usuários. A substituição de regras via MITM é evitada pelo uso padrão de HTTPS para download de listas de bloqueio padrão (para outras listas está planejado proibir o download via HTTP em uma versão futura). As diretivas podem ser usadas para bloquear um ataque no lado do site CSP (Política de Segurança de Conteúdo), por meio da qual você pode determinar explicitamente os hosts dos quais os recursos externos podem ser carregados.

Fonte: opennet.ru

Adicionar um comentário