Løs en sårbarhed i forbindelse med Cross-App Scripting

Disse oplysninger er skrevet til udviklere med apps, der er sårbare over for Cross-App Scripting.

Hvad sker der?

En eller flere af dine apps har en sårbarhed i forbindelse med Cross-App Scripting i Webvisning, hvilket giver skadelige apps mulighed for at stjæle brugernes cookies og andre data.Få flere oplysninger ved at gå til meddelelsen i Play Console.Efter de tidsfrister, der vises i Play Console, kan alle apps med sikkerhedsbrister, som ikke er rettet, blive fjernet fra Google Play.

Påkrævet handling​

  1. Log ind i Play Console, og gå til afsnittet Underretninger for at se, hvilke apps der er berørt, og tidsfristerne for at løse disse problemer.
  2. Opdater dine berørte apps, og ret sikkerhedsbristen.
  3. Indsend de opdaterede versioner af de berørte apps.

I denne periode er status for din nye eller opdaterede app afventer udgivelse, indtil din anmodning er gennemgået. Hvis appen ikke er blevet opdateret korrekt, vil du stadig se advarslen.

Yderligere oplysninger

Webvisninger, som aktiverer JavaScript og indlæser data fra Intents, der ikke er tillid til, kan blive narret af skadelige apps til at køre JavaScript-kode i en usikker kontekst. Vi anbefaler, at du lukker dette sikkerhedshul på en af følgende måder:

Mulighed 1: Sørg for, at de berørte aktiviteter ikke eksporteres

Find alle aktiviteter med berørte webvisninger. Hvis disse aktiviteter ikke behøver at tage hensigter fra andre apps, kan du angive android:exported=false for de pågældende aktiviteter i dit manifest. Dette sikrer, at skadelige apps ikke kan sende skadeligt input til webvisninger i disse aktiviteter.

Mulighed 2: Beskyt webvisninger i eksporterede aktiviteter

Hvis du ønsker at angive en Activity med en berørt WebView som eksporteret, anbefaler vi, at du foretager følgende ændringer:

  1. Beskyt kald til evaluateJavascript og loadUrl

    Sørg for, at parametre til evaluateJavascript altid er godkendte. Når du kalder evaluateJavascript ved hjælp af ikke-renset input fra Intents, der ikke er godkendt, kan hackere køre skadelige scripts i den berørte WebView. På samme måde gælder det, at hackere kan køre skadelige scripts, hvis du kalder loadUrl ved hjælp af ikke-renset input med webadresser med javascript:-skema.

  2. Sørg for, at der ikke indlæses usikre filer

    Sørg for, at berørte WebViews ikke kan indlæse cookiedatabasen.WebViews, der indlæser ikke-rensede file://-webadresser fra Intents, der ikke er godkendt, kan angribes af skadelige apps på følgende måde: Første trin: En skadelig webside kan skrive <script>-tags ind i cookiedatabasen. Andet trin: Denne ændrede cookiedatabasefil kan indlæses, hvis en skadelig app sender et Intent med en file://-webadresse, der peger på din cookiedatabase for din WebView, eller hvis den skadelige webside selv omdirigerer din WebView til filens webadresse. Det skadelige <script>, der er gemt i cookiedatabasen, indlæses og køres, og det kan så stjæle sessionsoplysninger.

    Du har tre forskellige muligheder for at sikre, at berørte Webviews ikke kan indlæse cookiedatabasen for din WebView.

    1. Deaktiver al filadgang.
    2. Sørg for, at din WebView kun indlæser file://-webadresser, og tjek, at indlæste file://-webadresser peger på sikre filer. Vær opmærksom på, at en hacker kan bruge et symbolic link til at narre tjek af webadressestien. For at forhindre sådan et angreb bør du sørge for at tjekke den kanoniske sti for enhver file://-webadresse, der ikke er godkendt, før indlæsning i stedet for blot at tjekke webadressestien.
    3. Hvis du både vil tillade http://-webadresser og file://-webadresser, kan du implementere bekræftelsen af file://-webadresser ved hjælp af shouldOverrideUrlLoading og shouldInterceptRequest i WebViewClient. Dette sikrer, at alle webadresser, der indlæses i WebView, er bekræftet, og ikke kun de webadresser, der er angivet direkte til et loadUrl()-funktionskald.

Vi hjælper dig videre
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 dette problem, kan du kontakte vores supportteam til udviklere.

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