Sanacija za ranjivost na otimanje sheme namjere

Ove su informacije namijenjene razvojnim programerima aplikacija koje su izložene opasnosti od otimanja sheme namjere.

Što se događa

Jedna ili više vaših aplikacija sadrže poteškoću Intent-Scheme Hijacking, što zlonamjernim mrežama i web-lokacijama može omogućiti da pristupaju privatnim komponentama aplikacija.Pogledajte obavijest na Play konzoliAplikacije koje budu sadržavale neriješene sigurnosne ranjivosti nakon rokova prikazanih na vašoj Play konzoli mogu se ukloniti s Google Playa.

Potrebna radnja

  1. Prijavite se na Play konzolu i u odjeljku Upozorenja pogledajte koje su aplikacije podložne ranjivostima i koji su rokovi za rješavanje tih poteškoća.

  2. Ažurirajte ranjive aplikacije prema uputama u nastavku.

  3. Pošaljite ažurirane verzije ranjivih aplikacija.

Nakon slanja ponovo ćemo pregledati vašu aplikaciju. Taj postupak može trajati nekoliko sati. Ako aplikacija prođe pregled i uspješno se objavi, ne morate više ništa poduzimati. Ako aplikacija ne prođe pregled, nova verzija aplikacije neće se objaviti i dobit ćete obavijest e-poštom.

Dodatne pojedinosti

WebViews koji posjećuju nepouzdani web-sadržaj, raščlanjuju veze intent:// upotrebljavajući Intent.parseUri i te namjere šalju koristeći startActivity ranjivi su na Intent-Scheme Hijacking. Zlonamjerni web-sadržaj te web-prikaze može na prijevaru navesti da šalju arbitrarne namjere privatnim komponentama aplikacija. To može dovesti do ugrožavanja aplikacija kao što su krađe privatnih podataka aplikacija kojima te komponente upravljaju. Napominjemo da nepouzdani web-sadržaj uključuje sadržaj s pouzdanih domena koji se učitava putem HTTP-a.

Preporučujemo da spriječite tu ranjivost na jedan od sljedećih načina:

Prva opcija: spriječite da WebViews šalju arbitrarne namjere

Aplikacije mogu ograničiti namjere stvorene putem Intent.parseUri da se šalju samo kao Implicit Intents komponentama koje imaju BROWSABLE filtre namjere pomoću sljedećeg koda:

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

Druga opcija: spriječite da zahvaćeni web-prikazi učitavaju nepouzdani web-sadržaj

Ako neki WebView treba raščlaniti arbitrarne URL-ove sa shemom intent://, spriječite da učitava nepouzdani web-sadržaj. Nepouzdani web-sadržaj uključuje web-sadržaj učitan nekriptiranom vezom. Razvojni programeri mogu postaviti android:usesCleartextTraffic na false u svojoj datoteci Manifest ili mogu postaviti značajku Network Security Config koja onemogućuje HTTP promet. Mogu i potpuno onemogućiti da zahvaćeni WebViews učitavaju URL-ove s HTTP shemama upotrebljavajući loadUrl.

Preporučujemo da razvojni programeri onemoguće da pogođeni web-prikazi učitavaju neograničene URL-ove dobivene iz nepouzdanih izvora (na primjer URL-ovi dobiveni iz nepouzdanih namjera). 

Obratite nam se ako vam zatreba pomoć
Ako imate tehničkih pitanja o toj ranjivosti, možete objaviti post na Stack Overflowu uz oznaku "android-security". Ako vam je potrebno pojašnjenje postupka za rješavanje te poteškoće, možete se obratiti našem timu za podršku razvojnim programerima.

false
Glavni izbornik
1718178768520899666
true
Pretraži Centar za pomoć
true
true
true
true
true
5016068
false
false