Corrigir uma vulnerabilidade de File-based Cross-Site Scripting (XSS)

Estas informações são destinadas a desenvolvedores de apps com a vulnerabilidade a ataques de File-based Cross-Site Scripting.

O que está acontecendo

Um ou mais dos seus apps têm uma vulnerabilidade de File-based Cross-Site Scripting que precisa ser corrigida. Consulte o aviso no Play ConsoleApós os prazos exibidos no Play Console, todos os apps com vulnerabilidades de segurança não corrigidas poderão ser removidos do Google Play.

Ação necessária​

  1. Faça login no Play Console e acesse a seção "Alertas" para ver os apps afetados e os prazos para resolver os problemas.
  2. Atualize esses apps e corrija a vulnerabilidade.
  3. Envie as versões atualizadas dos apps afetados.

Após o reenvio, seu app será revisado novamente. Esse processo pode levar várias horas. Se o app for aprovado na revisão e publicado, nenhuma outra ação será necessária. Se ele for reprovado, a nova versão não será publicada, e você receberá uma notificação por e-mail.

Detalhes adicionais

Os WebViews com WebSettings que definem setAllowFileAccessFromFileURLs ou setAllowUniversalAccessFromFileURLs como "true" não podem carregar conteúdo da Web que não seja confiável. Isso inclui material que vem de domínios confiáveis, mas é carregado por meio de HTTP. Redes ou conteúdos da Web maliciosos podem injetar scripts para redirecionar o WebView a um arquivo local malicioso e iniciar um ataque de Cross-Site Scripting com o objetivo de acessar arquivos ou cookies locais e privados.

Evite essa vulnerabilidade com um dos métodos a seguir:

  1. Garanta que os WebViews não tenham configurações perigosas.
  2. Impeça os WebViews de carregar arquivos locais ou executar JavaScript.
  3. Impeça os WebViews com configurações perigosas de carregar conteúdos da Web que não sejam confiáveis.

1. Garantir que os WebViews não tenham configurações perigosas

Atualize o android:targetSdkVersion do Manifest para no mínimo 16. Assim, você usará configurações padrão seguras para o WebView. Caso contrário, chame setAllowFileAccessFromFileURLs(false) e setAllowUniversalAccessFromFileURLs(false) para garantir que os WebViews sejam seguros.

2. Impedir os WebViews de carregar arquivos locais ou executar JavaScript

Chame setAllowFileAccess(false) para impedir os WebViews com configurações perigosas de carregar arquivos locais ou use setJavaScriptEnabled(false) para que esses WebViews não executem código JavaScript.

3. Impedir os WebViews com configurações perigosas de carregar conteúdos da Web que não sejam confiáveis

Caso um WebView precise ativar essas configurações perigosas, será necessário impedir o carregamento de conteúdos da Web que não sejam confiáveis. Isso inclui material carregado por HTTP. É possível definir android:usesCleartextTraffic=false ou usar uma configuração de segurança de rede que não permita o tráfego HTTP no Manifest. Como alternativa, você pode impedir todos os WebViews com configurações perigosas de carregar URLs com esquemas HTTP.

Também é preciso garantir que os WebViews com configurações perigosas só carreguem URLs de fontes confiáveis.

Estamos aqui para ajudar

Se você tiver dúvidas técnicas sobre a vulnerabilidade, escreva uma postagem no Stack Overflow e use a tag "android-security". Caso precise de mais informações sobre as etapas necessárias para resolver esse problema, entre em contato com nossa equipe de suporte ao desenvolvedor.

Isso foi útil?
Como podemos melhorá-lo?