Intent-kaavan kaappaushaavoittuvuuden korjaaminen

Nämä tiedot on tarkoitettu kehittäjille, joiden sovellukset sisältävät Intent-kaavan kaappaushaavoittuvuuden.

Mistä on kyse?

Yhdessä tai useammassa sovelluksessasi on Intent-kaavan kaappausongelma, joka voi sallia haitallisten verkkojen ja verkkosivustojen käyttää yksityisiä sovellusosia.Lue lisää Play Consolen ilmoituksesta. Play Consolessa näytettyjen määräaikojen jälkeen korjaamattomia tietosuojahaavoittuvuuksia sisältävät sovellukset saatetaan poistaa Google Playsta.

Edellyttää toimia

  1. Kirjaudu sisään Play Consoleen ja siirry ilmoitusosioon, niin näet, mihin sovelluksiin ongelmat vaikuttavat, ja määräajat niiden ratkaisemiselle.

  2. Päivitä kyseiset sovellukset alla olevien ohjeiden avulla.

  3. Lähetä sovellusten päivitetyt versiot.

Sovellus tarkastetaan lähetyksen yhteydessä uudelleen. Tässä voi kestää useita tunteja. Jos sovellus läpäisee tarkastuksen ja sen julkaisu onnistuu, lisätoimia ei tarvita. Jos sovellus ei läpäise tarkastusta, uutta sovellusversiota ei julkaista ja sinulle ilmoitetaan tästä sähköpostilla.

Lisätietoja

WebView't, jotka käyvät epäluotettavassa verkkosisällössä, jäsentävät intent://-linkit Intent.parseUri-komennolla ja lähettävät kyseiset tavoitteet startActivity-komennolla, ovat alttiita Intent-kaavan kaappauksille. Haitallinen verkkosisältö voi huijata nämä WebView't lähettämään satunnaisia tavoitteita yksityisiin sovellusosiin. Tämä voi johtaa sovellusten vaarantumiseen, kuten sellaisen yksityisen sovellusdatan varastamiseen, johon kyseiset osat vaikuttavat. Huomaa, että epäluotettavaksi verkkosisällöksi lasketaan myös luotettavista verkkotunnuksista peräisin oleva sisältö, joka ladataan HTTP:n kautta.

Suosittelemme estämään tämän haavoittuvuuden jollakin seuraavista tavoista:

Vaihtoehto 1: Varmista, että WebView't eivät voi lähettää satunnaisia tavoitteita

Sovellukset voivat rajoittaa tavoitteita, jotka on rakennettu Intent.parseUrilla, niin että niitä voidaan lähettää vain implisiittisinä tavoitteina osiin, joiden BROWSABLE-tavoitesuodatin käyttää seuraavaa koodia:

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

Vaihtoehto 2: Varmista, että WebView't, joita ongelma koskee, eivät lataa epäluotettavaa verkkosisältöä

Jos WebView'n on jäsennettävä satunnaisia intent://-kaavan URL-osoitteita, varmista, ettei se lataa epäluotettavaa verkkosisältöä. Suojaamattomalla yhteydellä ladattu verkkosisältö lasketaan epäluotettavaksi verkkosisällöksi. Kehittäjät voivat asettaa android:usesCleartextTraffic-metodin epätodeksi teknisissä tiedoissa tai määrittää Network Security Config ‑asetuksen, joka estää HTTP-liikenteen. Toinen vaihtoehto on varmistaa, että WebView't, joihin tämä vaikuttaa, eivät lataa HTTP-URL-osoitteita loadUrl-metodin kautta.

Kehittäjien kannattaa myös varmistaa, että WebView't, joihin tämä vaikuttaa, eivät lataa epäluotettavista lähteistä saatuja URL-osoitteita (esim. epäluotettavista tavoitteista saatuja URL-osoitteita). 

Autamme mielellämme
Voit esittää teknisiä kysymyksiä haavoittuvuudesta Stack Overflow ‑sivustolla. Merkitse kysymyksesi android-security-tagilla. Jos tarvitset lisätietoja korjausvaiheista, ota yhteyttä kehittäjien tukitiimiimme.

false
Päävalikko
17830104968025996034
true
Ohjekeskushaku
true
true
true
true
true
5016068
false
false