Te informacije so namenjene razvijalcem aplikacij, ki vsebujejo ranljivost, ki omogoča ugrabitev sheme namere.
Kaj se dogaja?
Ena ali več vaših aplikacij vsebuje težavo ugrabitve sheme namere, ki omogoča, da lahko zlonamerna omrežja in spletna mesta dostopajo do zasebnih komponent aplikacij.Preberite obvestilo v Konzoli Play. Morebitne aplikacije, ki imajo po rokih, navedenih v Konzoli Play, še vedno varnostne ranljivosti, bodo morda odstranjene iz Googla Play.
Potrebno ukrepanje
-
Prijavite se v Konzolo Play in pojdite v razdelek Opozorila, kjer si lahko ogledate aplikacije, na katere se to nanaša, in roke, do katerih je treba odpraviti težave.
-
Aplikacije, na katere se to nanaša, posodobite s postopkom, opisanim spodaj.
-
Pošljite posodobljene različice aplikacij, na katere se to nanaša.
Ko aplikacijo znova pošljete, jo bomo spet pregledali. Ta postopek lahko traja več ur. Če aplikacija uspešno opravi pregled in je objavljena, ni potrebno dodatno ukrepanje. Če pregled ni uspešen, nova različica aplikacije ne bo objavljena in boste prejeli e-poštno obvestilo.
Dodatne informacije
Mehanizmi WebView, ki obiskujejo zaupanja nevredno spletno vsebino, razčlenijo povezave intent:// z URI-ji Intent.parseUri in pošiljajo te namere z metodo startActivity, so ranljivi za ugrabitev sheme namere. Te mehanizme WebView lahko zlonamerna spletna vsebina pripravi do tega, da pošljejo poljubne namere komponentam zasebnih aplikacij. To lahko privede do kompromisov aplikacij, na primer do kraje podatkov v zasebnih aplikacijah, ki jih take komponente uporabljajo. Upoštevajte, da zaupanja nevredna spletna vsebine vključuje vsebino iz zaupanjih vrednih domen, ki se nalaga prek protokola HTTP.
Priporočamo, da to ranljivost preprečite na enega od teh načinov:
1. možnost: zagotovite, da mehanizmi WebView ne morejo pošiljati poljubnih namer
Aplikacije lahko omejijo namere, ustvarjene z URI-jem Intent.parseUri, da jih je mogoče pošiljati komponentam s filtri namer BROWSABLE samo kot implicitne namere, in sicer s to kodo:
// 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);
2. možnost: zagotovite, da mehanizmi WebView, na katere to vpliva, ne nalagajo zaupanja nevredne spletne vsebine
Če mehanizem WebView mora razčlenjevati poljubne URL-je shem intent://
, poskrbite, da ne nalaga zaupanja nevredne spletne vsebine. Zaupanja nevredna spletna vsebina vsebuje spletno vsebino, naloženo prek nešifrirane povezave. Razvijalci lahko vrednost android:usesCleartextTraffic
v manifestu nastavijo na »false« ali nastavijo Network Security Config (konfiguracijo varnosti omrežja), ki onemogoča promet HTTP. Zagotovite lahko tudi, da mehanizmi WebView, ki jih to zadeva, ne nalagajo URL-jev s shemami protokola HTTP prek metode loadUrl
.
Priporočamo, da razvijalci zagotovijo, da mehanizmi WebView, ki jih to zadeva, ne nalagajo neomejenih URL-jev, pridobljenih iz zaupanja nevrednih virov (npr. URL-jev, pridobljenih iz zaupanja nevrednih namer).
Tu smo, da vam pomagamo
Če imate tehnična vprašanja glede ranljivosti, jih objavite v skupnosti Stack Overflow in uporabite oznako »android-security«. Če potrebujete pojasnilo postopka, ki ga morate uporabiti za odpravljanje te težave, se lahko obrnete na skupino za podporo razvijalcem.