Estas informações são destinadas a desenvolvedores com apps que contenham uma vulnerabilidade de cross-app scripting.
O que está acontecendo
Um ou mais dos seus apps contêm um problema de cross-app scripting de WebView que pode permitir que apps maliciosos roubem cookies e outros dados dos usuários. Consulte o aviso no Play Console. Depois do prazo final apresentado 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
- Faça login no Play Console e acesse a seção "Alertas" para ver os apps afetados e os prazos para resolver os problemas.
- Atualize esses apps e corrija a vulnerabilidade.
- Envie as versões atualizadas dos apps afetados.
Durante esse período, o novo app ou a atualização terá o status Publicação pendente até que sua solicitação seja analisada. Se o app não tiver sido atualizado corretamente, o aviso ainda será exibido.
Detalhes adicionais
Os WebViews que ativam JavaScript e carregam dados lidos de Intents não confiáveis podem ser levados por apps maliciosos a executar código JavaScript em um contexto não seguro. Recomendamos evitar essa vulnerabilidade com um dos métodos a seguir:
Opção 1: impedir a exportação das atividades afetadas
Encontre atividades com WebViews afetados. Se essas atividades não precisarem usar intents de outros apps, você poderá definir android:exported=false nas atividades no manifesto. Isso evita que apps maliciosos enviem entradas prejudiciais para os WebViews nessas atividades.
Opção 2: proteger os WebViews em atividades exportadas
Para definir uma Activity com um WebView afetado como exportada, recomendamos que você faça as seguintes modificações:
- Proteja as chamadas para evaluateJavascript e loadUrl
Os parâmetros de evaluateJavascript precisam sempre ser confiáveis. Chamar o evaluateJavascript usando a entrada não corrigida de Intents não confiáveis permite que os invasores executem scripts nocivos no WebView afetado. Da mesma forma, chamar loadUrl com a entrada não corrigida com o javascript: scheme URLs permite que invasores executem scripts nocivos.
- Evite o carregamento não seguro de arquivos
Não permita que os WebViews afetados carreguem o banco de dados de cookies. Os WebViews que carregam URLs file:// não corrigidos de Intents não confiáveis podem ser atacados por apps maliciosos em duas etapas. Primeira etapa: uma página da Web maliciosa pode gravar tags <script> no banco de dados de cookies. Segunda etapa: esse arquivo de banco de dados de cookies modificado pode ser carregado se um app mal-intencionado enviar uma Intent com um URL file:// que leva ao banco de dados de cookies do WebView ou se a página da Web maliciosa redirecionar seu WebView para o URL do arquivo. O <script> malicioso armazenado no banco de dados de cookies será carregado e executado, o que pode roubar informações da sessão.
Há três maneiras de impedir que os WebViews afetados carreguem o banco de dados de cookies do WebView.
- Desative todo o acesso a arquivos.
- Confirme se o WebView carrega somente URLs file:// e verifique se os carregados apontam para arquivos seguros. Um invasor pode usar um symbolic link para enganar as verificações no caminho do URL. Para evitar esse tipo de ataque, verifique o caminho canônico de qualquer URL file:// não confiável antes do carregamento em vez de somente verificar o caminho do URL.
- Se você quiser permitir URLs http:// e file://, implemente a verificação de URL file:// usandoshouldOverrideUrlLoading eshouldInterceptRequest emWebViewClient. Isso garante que todos os URLs carregados no WebView sejam verificados, não limitados aos URLs fornecidos diretamente a uma chamada de função loadUrl().
Estamos aqui para ajudar
Caso tenha dúvidas técnicas sobre a vulnerabilidade, escreva uma postagem no Stack Overflow e use a tag "android-security". Se precisar de mais informações sobre as etapas necessárias para resolver esse problema, entre em contato com nossa equipe de suporte ao desenvolvedor.