Corriger une faille liée à l'injection SQL

Ces informations sont destinées aux développeurs d'applications présentant une faille liée à l'injection SQL.

Que se passe-t-il ?

Une ou plusieurs de vos applications présentent une faille liée à l'injection SQL qui doit être corrigée. Veuillez consulter la notification dans la console PlayPassé les délais indiqués dans la console Play, toutes les applications présentant des failles de sécurité non résolues pourront être supprimées de Google Play.

Action requise

  1. Connectez-vous à la console Play et accédez à la section "Alertes" pour savoir quelles sont les applications concernées et connaître les délais à respecter pour résoudre ces problèmes.
  2. Mettez à jour les applications concernées et corrigez la faille.
  3. Envoyez les versions mises à jour des applications concernées.

Votre application sera à nouveau examinée. Le processus peut durer plusieurs heures. Si votre application est approuvée et publiée, aucune autre action de votre part n'est requise. Si l'application n'est pas approuvée, sa nouvelle version ne sera pas publiée, et vous recevrez une notification par e-mail.

Informations supplémentaires

Les implémentations de query, update et delete dans les exportations de ContentProviders peuvent être vulnérables aux injections SQL si elles transmettent des entrées non rectifiées aux instructions SQL. Une application malveillante peut injecter une entrée destinée à accéder à des données privées ou corrompre les contenus d'une base de données. Pour résoudre ce problème, procédez comme suit :

Si les autres applications n'ont pas besoin d'accéder à l'entrée ContentProvider posant problème :

Si d'autres applications ont besoin d'accéder à l'entrée ContentProvider posant problème :

  • Vous pouvez empêcher les injections SQL dans SQLiteDatabase.query en utilisant le mode strict avec une carte de projection. Le mode strict vous protège des clauses de sélection malveillantes, et la carte de projection vous protège des clauses de projection malveillantes. Vous devez utiliser ces deux fonctionnalités pour sécuriser vos requêtes.
  • Vous pouvez empêcher les injections SQL dans SQLiteDatabase.update et SQLiteDatabase.delete avec une clause de sélection utilisant le caractère "?" en tant que paramètre remplaçable et un tableau d'arguments de sélection distinct. Votre clause de sélection ne doit pas être composée d'entrées non fiables.

Nous sommes là pour vous aider

Si vous avez des questions techniques sur cette faille, vous pouvez publier un message sur le site Stack Overflow en utilisant le tag "android-security". Si vous souhaitez obtenir des éclaircissements sur les étapes à suivre pour résoudre ce problème, vous pouvez contacter notre équipe d'assistance pour les développeurs.

Ces informations vous-ont elles été utiles ?

Comment pouvons-nous l'améliorer ?
false
Menu principal
9969593928025625161
true
Rechercher dans le centre d'aide
true
true
true
true
true
5016068
false
false