Solution pour la faille d'injection d'interface JavaScript

Ces informations sont destinées aux développeurs d'applications qui présentent une faille permettant une attaque par injection d'interface JavaScript.

Que se passe-t-il ?

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 classes WebView qui exposent des objets de niveau application à du code JavaScript à l'aide de la méthode addJavascriptInterface et qui chargent du contenu Web non approuvé sont vulnérables à l'injection d'interface JavaScript. Le contenu non approuvé peut exécuter toutes les méthodes des objets exposés qui sont annotés avec @JavascriptInterface, ce qui peut entraîner une fuite ou une corruption de données, ou encore l'exécution de code arbitraire.

Nous vous recommandons de corriger cette faille en appliquant l'une des méthodes suivantes :

Option 1 : Assurez-vous que les classes WebView n'ajoutent pas d'objets à l'interface JavaScript

Vous devez vous assurer qu'aucun objet WebView chargeant du contenu Web non approuvé n'est ajouté à l'interface JavaScript. Pour cela, vous avez le choix entre deux méthodes :

 

Assurez-vous qu'aucun objet n'est ajouté à l'interface JavaScript à l'aide de la méthode addJavascriptInterface.

  1. Supprimez les objets de l'interface JavaScript dans shouldInterceptRequest via removeJavascriptInterface avant que le contenu non approuvé soit chargé dans WebView.

Option 2 : Assurez-vous que les classes WebView ne chargent pas de contenu Web non approuvé

Si votre application doit exposer des objets à l'interface JavaScript d'un composant WebView, assurez-vous que celui-ci ne charge pas de contenu Web via une connexion non chiffrée. Vous pouvez définir android:usesCleartextTraffic sur False dans votre fichier manifeste ou définir une fonctionnalité relative à la configuration de sécurité réseau qui empêche le trafic HTTP. Sinon, vous pouvez vérifier que les classes WebView affectées ne chargent pas d'URL avec des schémas HTTP via la méthode loadUrl.


Assurez-vous que les classes WebView implémentant des interfaces JavaScript ne chargent pas d'URL obtenues à partir de sources non fiables (par exemple, celles provenant d'Intents non fiables).

Nous sommes là pour vous aider

Si vous avez des questions techniques sur la 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
8817340360976903033
true
Rechercher dans le centre d'aide
true
true
true
true
true
5016068
false
false