Este artigo é destinado a desenvolvedores de apps com uma implementação não segura do gerenciador WebViewClient.onReceivedSslError.
O que está acontecendo
Um ou mais dos seus apps têm uma implementação não segura do gerenciador onReceivedSslError, o que os deixa vulneráveis a ataques man-in-the-middle. Um invasor poderia alterar o conteúdo do WebView afetado, ler dados transmitidos (como credenciais de login) e executar código no app usando JavaScript. Consulte o aviso no Play Console. Apó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
- 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.
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
- Para corrigir o problema, atualize o código do app de modo que ele invoque SslErrorHandler.proceed() quando o certificado apresentado pelo servidor atender às suas expectativas ou SslErrorHandler.cancel() quando isso não acontecer. Lembre-se do seguinte ao verificar a validade do certificado:
-
Os apps podem ser sinalizados quando não têm procedimentos suficientes para verificar a validade do certificado. Por exemplo, apenas conferir o valor de retorno de getPrimaryError não basta para determinar que o certificado é válido.
-
Não é seguro ignorar a maioria dos erros SSL retornados por SslError.getPrimaryError. O getPrimaryError retorna o erro mais grave de um conjunto. Portanto, se
getPrimaryError() != SSL_UNTRUSTED
for verdadeiro, a conexão ainda poderá ter um erro SSL_UNTRUSTED nesse conjunto.
-
-
Caso você use uma biblioteca de terceiros que é responsável por isso, notifique-os e trabalhe com eles para resolver o problema.
Para mais informações sobre o gerenciador de erros de SSL, consulte nossa documentação na Central de Ajuda do Desenvolvedor Android. Caso tenha outras dúvidas técnicas, poste em https://www.stackoverflow.com/questions (em inglês) e use as tags "android-security" e "SslErrorHandler".
Ainda que esses problemas específicos não afetem todos os apps que usam o SSL do WebView, recomendamos manter todos os patches de segurança atualizados. Os apps com vulnerabilidades que expõem os usuários a risco de comprometimento de dados podem ser considerados produtos perigosos que violam a Política de conteúdo e a seção 4.4 do Contrato de distribuição do desenvolvedor.
Estamos aqui para ajudar
Em caso de dúvidas técnicas, escreva uma postagem no Stack Overflow (em inglês) e use as tags "android-security" e "TrustManager". 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.