Corrigir uma vulnerabilidade de injeção de SQL

Estas informações são destinadas a desenvolvedores de apps com a vulnerabilidade de injeção de SQL.

O que está acontecendo

Um ou mais dos seus apps contêm uma vulnerabilidade de injeção de SQL que precisa ser corrigida. Consulte o aviso no Play ConsoleApó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​

  1. Faça login no Play Console e acesse a seção "Alertas" para ver os apps afetados e os prazos para resolver os problemas.
  2. Atualize esses apps e corrija a vulnerabilidade.
  3. 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

As implementações de query, update e delete em ContentProviders exportados podem estar vulneráveis à injeção de SQL caso passem entradas não limpas para as instruções SQL. Isso permite que um app malicioso forneça uma entrada manipulada para acessar dados particulares ou conteúdos de banco de dados corrompidos. Você pode corrigir esse problema das seguintes maneiras:

Se não for preciso expor um ContentProvider afetado a outros apps:

Se for preciso expor um ContentProvider afetado a outros apps:

  • você poderá impedir a injeção de SQL em SQLiteDatabase.query usando o modo estrito com um mapa de projeção. O modo estrito protege contra cláusulas de seleção maliciosas, enquanto o mapa de projeção impede cláusulas de projeção indevidas. Use ambos os recursos para garantir que as consultas sejam seguras;
  • você poderá impedir a injeção de SQL em SQLiteDatabase.update e SQLiteDatabase.delete usando uma cláusula de seleção com "?" como parâmetro substituível e uma matriz separada de argumentos de seleção. Ao criar a cláusula de seleção, use somente entradas que sejam confiáveis.

Estamos aqui para ajudar

Se você tiver dúvidas técnicas sobre a vulnerabilidade, escreva uma postagem no Stack Overflow e use a tag "android-security". Caso precise de mais informações sobre as etapas necessárias para resolver esse problema, entre em contato com nossa equipe de suporte ao desenvolvedor.

Isso foi útil?
Como podemos melhorá-lo?