Corrigir uma vulnerabilidade de injeção SQL

Estas informações destinam-se aos programadores com aplicações que contenham a vulnerabilidade de injeção SQL.

O que está a acontecer

Uma ou mais das suas aplicações contêm uma vulnerabilidade de injeção SQL que tem de ser corrigida. 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

As implementações de query, update e delete em ContentProviders exportados podem ser vulneráveis à injeção SQL se transmitirem entradas perigosas a declarações SQL. Uma aplicação maliciosa pode fornecer uma entrada concebida para aceder a dados privados ou conteúdos corruptos em bases de dados. Pode corrigir este problema das seguintes formas:

Se um ContentProvider afetado não tiver de estar exposto a outras aplicações:

Se um ContentProvider afetado tiver de estar exposto a outras aplicações:

  • Pode impedir a injeção SQL para SQLiteDatabase.query através do modo rigoroso com um mapa de projeção. O modo rigoroso protege contra cláusulas de seleção maliciosas e o mapa de projeção protege contra cláusulas de projeção maliciosas. Tem de utilizar ambas as funcionalidades para garantir que as consultas estão seguras.
  • Pode impedir a injeção SQL para SQLiteDatabase.update e SQLiteDatabase.delete através de uma cláusula de seleção que utilize "?" como um parâmetro substituível e uma matriz separada de argumentos de seleção. A sua cláusula de seleção não deve ser criada a partir de entradas 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
17578232896775000460
true
Pesquisar no Centro de ajuda
true
true
true
true
true
5016068
false
false