Ces informations sont destinées aux développeurs dont l'application présente une faille liée au piratage du schéma d'intent.
Que se passe-t-il ?
Une ou plusieurs de vos applications présentent un problème lié au piratage du schéma d'intent qui peut permettre à des réseaux et à des sites Web malveillants d'accéder à des composants d'application privés. Veuillez consulter la notification dans la console Play. Passé 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
-
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.
-
Mettez à jour les applications concernées en suivant les étapes indiquées ci-dessous.
-
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 consultent du contenu Web non approuvé, qui analysent des liens intent:// avec Intent.parseUri et qui envoient ces intents avec startActivity peuvent être vulnérables au piratage du schéma d'intent. Ces classes WebView peuvent être trompées par des contenus Web malveillants et envoyer des intents arbitraires à des composants d'applications privées. Cela risque d'entraîner des compromis au niveau applications, tels que le vol de données d'application privées que manipulent ces composants. Les contenus Web non approuvés incluent les contenus de domaines approuvés chargés en HTTP.
Nous vous recommandons de corriger cette faille en appliquant l'une des méthodes suivantes :
Option 1 : Assurez-vous que les classes WebView ne peuvent pas envoyer d'intents arbitraires
Les applications peuvent forcer l'envoi des intents créés avec Intent.parseUri en tant qu'Implicit Intents aux composants présentant des filtres d'intent BROWSABLE. Pour cela, utilisez le code suivant :
// convert Intent scheme URL to Intent object
Intent intent = Intent.parseUri(url);
// forbid launching activities without BROWSABLE category
intent.addCategory("android.intent.category.BROWSABLE");
// forbid explicit call
intent.setComponent(null);
// forbid Intent with selector Intent
intent.setSelector(null);
// start the activity by the Intent
view.getContext().startActivity(intent, -1);
Option 2 : Assurez-vous que les classes WebView concernées ne chargent pas de contenu Web non approuvé
Si une classe WebView doit analyser des URL de schémas d'intent://
, veuillez vous assurer qu'elle ne charge pas de contenu Web non approuvé, y compris le contenu Web chargé via une connexion non chiffrée. Les développeurs peuvent définir android:usesCleartextTraffic
sur False dans leur fichier manifeste ou définir une 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
.
Nous recommandons aux développeurs de s'assurer que les classes WebView concernées ne chargent pas d'URL non restreintes à partir de sources non fiables (telles que des URL obtenues auprès d'intents non approuvés).
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.