Deze informatie is bedoeld voor ontwikkelaars met een of meer apps die de kwetsbaarheid ten aanzien van het hacken van intentieschema's bevatten.
Wat er gebeurt
Een of meer van uw apps zijn kwetsbaar voor hacken via intentieschema's (Intent-Scheme Hijacking), waardoor schadelijke netwerken en websites mogelijk toegang hebben tot onderdelen van uw privé-apps. Bekijk de melding in uw Play Console. Na de deadlines die worden weergegeven in uw Play Console, worden apps met niet-opgeloste beveiligingsproblemen verwijderd uit Google Play.
Actie vereist
-
Log in bij de Play Console en navigeer naar het gedeelte Meldingen om te zien welke apps het betreft en wat de deadlines zijn om deze problemen op te lossen.
-
Update de betreffende apps aan de hand van de hieronder beschreven stappen.
-
Dien de geüpdatete versies van de betreffende apps in.
Nadat uw app opnieuw is ingediend, wordt deze opnieuw beoordeeld. Dit proces kan enkele uren duren. Als de app is goedgekeurd en is gepubliceerd, hoeft u verder geen actie te ondernemen. Als de app niet wordt goedgekeurd, wordt de nieuwe app-versie niet gepubliceerd en ontvangt u een e-mailmelding.
Aanvullende details
WebViews die niet-vertrouwde webcontent bezoeken, links met intent:// parseren die Intent.parseUri gebruiken en die intenties verzenden via startActivity, zijn kwetsbaar voor het hacken van intentieschema's (Intent-Scheme Hijacking). Deze WebViews kunnen worden misleid door schadelijke webcontent zodat ze willekeurige intenties naar componenten in privé-apps verzenden. Hierdoor kunnen apps worden gehackt en kunnen bijvoorbeeld privé-appgegevens worden gestolen die door dergelijke componenten worden gemanipuleerd. Onder niet-vertrouwde webcontent valt ook content van vertrouwde domeinen die via HTTP wordt geladen.
We raden u aan deze kwetsbaarheid op een van de volgende manieren voorkomen:
Optie 1: Ervoor zorgen dat WebViews geen willekeurige intenties kunnen verzenden
Apps kunnen intenties die zijn gemaakt met Intent.parseUri beperken zodat ze alleen als Implicit Intents kunnen worden verzonden naar componenten met BROWSABLE-intentiefilters. Hiervoor kan de volgende code worden gebruikt:
// 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);
Optie 2: Ervoor zorgen dat de betreffende WebViews geen niet-vertrouwde webcontent laden
Als een WebView willekeurige URL's van schema's met intent://
moet parseren, zorgt u ervoor dat deze geen niet-vertrouwde webcontent laadt. Onder niet-vertrouwde webcontent valt webcontent die is geladen via een niet-versleutelde verbinding. Ontwikkelaars kunnen android:usesCleartextTraffic
instellen op 'false' in hun Manifest of een Network Security Config instellen om HTTP-verkeer te verbieden. Ze kunnen er ook voor zorgen dat alle betreffende WebViews geen URL's met HTTP-schema's laden via loadUrl
.
We raden ontwikkelaars ook aan te zorgen dat de betreffende WebViews geen niet-beperkte URL's laden die zijn verkregen via niet-vertrouwde bronnen (bijvoorbeeld URL's die zijn verkregen via niet-vertrouwde intenties).
We helpen u graag
Als u technische vragen over de kwetsbaarheid heeft, kunt u een bericht posten op Stack Overflow en de tag 'android-security' gebruiken. Neem contact op met ons supportteam voor ontwikkelaars voor meer informatie over de stappen die u moet uitvoeren om dit probleem op te lossen.