Como abordar os alertas do Controlador de erros do WebView SSL nas suas aplicações.

Este artigo destina-se a programadores com aplicações que utilizam uma implementação não segura do controlador WebViewClient.onReceivedSslError.

O que está a acontecer

Uma ou mais das suas aplicações contêm uma implementação insegura do controlador onReceivedSslError, o que torna a aplicação vulnerável a ataques de intrusos. Um utilizador mal-intencionado pode alterar o conteúdo do WebView afetado, ler os dados transmitidos (tais como credenciais de início de sessão) e executar código na aplicação através de JavaScript. Consulte o aviso na Play ConsoleApós os prazos apresentados na Play Console, as aplicações que contenham vulnerabilidades de segurança não corrigidas poderão ser removidas do Google Play.

Ação necessária​

  1. Inicie sessão na Play Console e navegue até à secção Alertas para ver quais as aplicações afetadas e os prazos para resolver estes problemas.
  2. Atualize as aplicações afetadas e corrija a vulnerabilidade.
  3. Envie as versões atualizadas das aplicações afetadas.

Depois de voltar a enviar, a sua aplicação será revista novamente. Este processo pode demorar várias horas. Se a aplicação passar na revisão e for publicada com êxito, não será necessária qualquer ação adicional. Se a aplicação falhar na revisão, a nova versão da aplicação não será publicada e receberá uma notificação por email.

Detalhes adicionais

  1. Para corrigir o problema, atualize o código das aplicações para invocar SslErrorHandler.proceed() sempre que o certificado apresentado pelo servidor cumpra as suas expetativas e para invocar SslErrorHandler.cancel() caso contrário. Tenha em atenção os seguintes aspetos ao verificar a validade do certificado:
    1. Uma aplicação pode ser sinalizada se não contiver verificações suficientes para a validade do certificado; por exemplo, apenas verificar o valor devolvido de getPrimaryError não é suficiente para estabelecer a validade do certificado.

    2. Não é seguro ignorar a maioria dos erros de SSL devolvidos por SslError.getPrimaryError. Tenha em atenção que  getPrimaryError devolve o erro mais grave num conjunto de erros, como tal, se getPrimaryError() != SSL_UNTRUSTED for verdadeiro, a ligação ainda pode conter um erro SSL_UNTRUSTED no conjunto de erros.

  2. Se estiver a utilizar uma biblioteca de terceiros responsável por isto, notifique a parte em questão e colabore com a mesma para resolver o problema.

Para obter mais informações acerca do controlador de erros do SSL, consulte a nossa documentação no Centro de Ajuda para programadores Android. Para outras questões técnicas, pode publicar uma mensagem em https://www.stackoverflow.com/questions e utilizar as etiquetas "android-security" e "SslErrorHandler".

Apesar de estes problemas específicos poderem não afetar todas as aplicações que utilizam o WebView SSL, é preferível manter-se a par de todos os patches de segurança. As aplicações com vulnerabilidades que expõem os utilizadores ao risco de comprometimento podem ser consideradas produtos perigosos e, consequentemente, violar a Política de Conteúdos e a secção 4.4 do Contrato de Distribuição para Programadores.

Estamos aqui para ajudar

Se tiver perguntas técnicas acerca da vulnerabilidade, pode publicar uma mensagem no Stack Overflow e utilizar a etiqueta "android-security". Para obter um esclarecimento sobre os passos que tem de efetuar para resolver este problema, pode contactar a nossa equipa de apoio técnico a programadores.

false
Menu principal
6959178677161427908
true
Pesquisar no Centro de ajuda
true
true
true
true
true
5016068
false
false