Udbedring af sårbarhed over for hijacking af Intent-skema

Disse oplysninger er beregnet til udviklere med apps, der er sårbare over for hijacking af Intent-skema.

Hvad sker der?

En eller flere af dine apps indeholder et problem med hijacking af Intent-skema, som betyder, at skadelige netværk og websites kan få adgang til private appkomponenter.Få flere oplysninger ved at gå til meddelelsen i Play ConsoleEfter de tidsfrister, der vises i Play Console, kan apps med sikkerhedsbrister, som ikke er rettet, blive fjernet fra Google Play.

Påkrævet handling

  1. Log ind på Play Console, og gå til afsnittet Advarsler for at se, hvilke apps der er berørt, og tidsfristerne for at løse disse problemer.

  2. Opdater de berørte apps ved at følge de fremhævede trin nedenfor.

  3. Indsend de opdaterede versioner af de berørte apps.

Din app gennemgås på ny, når du indsender den igen. Dette kan tage flere timer. Hvis appen består gennemgangen og udgives korrekt, skal du ikke gøre mere. Hvis appen ikke består gennemgangen, udgives den nye appversion ikke, og du modtager en notifikation via mail.

Yderligere oplysninger

WebViews, som besøger usikkert webindhold, parser intent://-links ved hjælp af Intent.parseUri og sender disse Intents ved hjælp af startActivity, er sårbare over for hijacking af Intent-skema. Disse WebViews kan narres af skadeligt webindhold til at sende tilfældige Intents til private appkomponenter. Det kan medføre kompromittering af apps såsom tyveri af private appdata, som disse komponenter håndterer. Bemærk! Webindhold, der ikke er tillid til, omfatter indhold fra pålidelige domæner, der indlæses via HTTP.

Vi anbefaler, at du lukker dette sikkerhedshul på en af følgende måder:

Mulighed 1: Sørg for, at WebViews ikke kan sende tilfældige Intents

Apps kan begrænse Intents med Intent.parseUri, så de kun sendes som Implicit Intents til komponenter med Intent-filtre af typen BROWSABLE ved hjælp af følgende kode:

     // 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);

Mulighed 2: Sørg for, at berørte WebViews kun indlæser webindhold, der er tillid til

Hvis et WebView har brug for at parse tilfældige webadresser til skemaer af typen intent://, skal du sørge for, at det kun indlæser webindhold, der er tillid til. Usikkert webindhold omfatter webindhold, der indlæses via en ukrypteret forbindelse. Udviklere kan angive android:usesCleartextTraffic som falsk i deres Manifest eller angive et Network Security Config, som ikke tillader HTTP-trafik. De kan også sørge for, at berørte WebViews ikke indlæser nogen webadresser med HTTP-skemaer via loadUrl.

Vi anbefaler udviklere at sørge for, at berørte WebViews ikke indlæser ubegrænsede webadresser, som stammer fra kilder, der ikke er tillid til (f.eks. webadresser, som stammer fra usikre Intents). 

Vi sidder klar til at hjælpe dig
Hvis du har tekniske spørgsmål vedrørende sikkerhedsbristen, kan du skrive et indlæg på Stack Overflow og bruge tagget "android-security". Hvis du har spørgsmål til den vejledning, du skal følge for at løse problemet, kan du kontakte vores supportteam for udviklere.

false
Hovedmenu
10715684227241084548
true
Søg i Hjælp
true
true
true
true
true
5016068
false
false