Uma vulnerabilidade Adblock Plus permite a execução de código de terceiros

Faz pouco foi descoberto que o popular bloqueador de anúncios «Adblock Plus »possui uma vulnerabilidade que permite organizar a execução de código JavaScript nos sites, no caso de usar filtros não testados preparados por terceiros com intenção maliciosa (por exemplo, conectando conjuntos de regras de terceiros ou por substituição de regra durante o ataque MITM).

Listar autores com conjuntos de filtros pode organizar a execução de seu código no contexto de sites acessíveis ao usuário adicionando regras com o operador »$ rewrite«, que permite substituir parte da URL.

Como essa execução de código é possível?

Declaração de $ rewrite não permite substituir o host na url, mas oferece a oportunidade de manipular livremente os argumentos do pedido.

Contudo a execução do código pode ser alcançada. Alguns sites, como Google Maps, Gmail e Imagens do Google, eles usam a técnica de carregamento dinâmico de blocos JavaScript executáveis ​​transmitidos na forma de texto simples.

Se o servidor permitir o redirecionamento de solicitações, ele poderá ser encaminhado para outro host alterando os parâmetros do URL (por exemplo, no contexto do Google, um redirecionamento pode ser feito por meio da API »google.com/search«) .

Mais hosts que permitem o redirecionamento, você também pode cometer um ataque contra serviços que permitem a localização do conteúdo do usuário (hospedagem de código, plataforma de colocação de artigos, etc.).

O método de O ataque proposto afeta apenas as páginas que carregam strings dinamicamente com código JavaScript (por exemplo, via XMLHttpRequest ou Fetch) e, em seguida, execute-os.

Outra limitação importante é a necessidade de usar um redirecionamento ou colocar dados arbitrários no servidor de origem que fornece o recurso.

No entanto, como uma demonstração da relevância de um ataque, mostra como organizar a execução do código abrindo maps.google.com usando um redirecionamento por meio de "google.com/search".

Na verdade, as solicitações para usar XMLHttpRequest ou Fetch para baixar scripts remotos para execução não falharão quando a opção $ rewrite for usada.

Além disso, o redirecionamento aberto é tão importante porque permite que o XMLHttpRequest leia o script de um site remoto, mesmo que pareça ser da mesma fonte.

Eles já estão trabalhando para resolver o problema

A solução ainda está em preparação. O problema também afeta os bloqueadores AdBlock e uBlock. O UBlock Origin Blocker não é suscetível ao problema, pois não suporta o operador »$ rewrite».

Em um ponto, o autor do uBlock Origin se recusou a adicionar suporte a $ rewrite, citando possíveis problemas de segurança e restrições de nível de host insuficientes (em vez de reescrever, a opção querystrip foi proposta para limpar os parâmetros de consulta em vez de substituí-los).

É nossa responsabilidade proteger nossos usuários.

Apesar do risco real muito baixo, decidimos remover a opção $ rewrite. Portanto, lançaremos uma versão atualizada do Adblock Plus assim que tecnicamente possível.

Fazemos isso por precaução. Nenhuma tentativa foi feita para usar indevidamente a opção de reescrever e faremos o nosso melhor para evitar que isso aconteça.

Isso significa que não há ameaça para nenhum usuário do Adblock Plus.

O DOs desenvolvedores do Adblock Plus consideram os ataques reais improváveis, uma vez que todas as mudanças nas listas de regras regulares são revisadas e a conexão de listas de terceiros é praticada por usuários muito raramente.

A substituição de regra via MITM remove o uso de HTTPS por padrão para carregar listas de bloqueio regulares (para as listas restantes, está planejado proibir o download de HTTP em uma versão futura).

Para bloquear ataques no lado dos sites, As diretivas CSP podem ser aplicadas (Política de Segurança de Conteúdo), através da qual você pode identificar explicitamente os hosts dos quais os recursos externos podem ser carregados.

fonte: https://adblockplus.org, https://armin.dev


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.