Solução para a vulnerabilidade de injeção da interface de JavaScript

Estas informações destinam-se aos programadores com aplicações que contêm a vulnerabilidade de injeção da interface de JavaScript.

O que está a acontecer

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 obtiver a aprovação 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

Os componentes WebView que exponham objetos ao nível da aplicação a código JavaScript através de addJavascriptInterface e carreguem conteúdo Web não fidedigno são vulneráveis à injeção da interface de JavaScript. O conteúdo não fidedigno pode executar qualquer dos métodos dos objetos expostos com a anotação @JavascriptInterface, originando a fuga de dados, a corrupção de dados ou até a execução de código arbitrário.

Recomendamos que impeça esta vulnerabilidade de uma das seguintes formas:

Opção 1: certifique-se de que os componentes WebView não adicionam Objetos à interface de JavaScript

Deve certificar-se de que não existem objetos adicionados à interface de JavaScript de qualquer WebView que carrega conteúdo Web não fidedigno. Pode fazê-lo de duas formas:

 

Garanta que nunca são adicionados objetos à interface de JavaScript através de chamadas para addJavascriptInterface.

  1. Remova os objetos da interface de JavaScript em shouldInterceptRequest através de removeJavascriptInterface antes de o componente WebView efetuar o carregamento de conteúdo não fidedigno.

Opção 2: certifique-se de que os componentes WebView não carregam conteúdo Web não fidedigno

Se a sua aplicação necessita de expor objetos à interface de JavaScript de um WebView, deve garantir que esse WebView não carrega conteúdo Web através de uma ligação não encriptada. Pode definir android:usesCleartextTraffic como falso no seu Manifest ou definir uma Network Security Config que não permita tráfego HTTP. Em alternativa, pode assegurar que quaisquer componentes WebView afetados não carreguem URLs com esquemas HTTP através de loadUrl.


Certifique-se de que os componentes WebView com interfaces de JavaScript não carregam URLs não validados obtidos de fontes não fidedignas (por exemplo, URLs obtidos a partir de Intenções não fidedignas).

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
7900440654658088878
true
Pesquisar no Centro de ajuda
true
true
true
true
true
5016068
false
false