Ove su informacije namijenjene razvojnim programerima aplikacija koje su izložene opasnosti od umetanja JavaScript sučelja.
Što se događa
Pogledajte obavijest na Play konzoli. Aplikacije koje budu sadržavale neriješene sigurnosne ranjivosti nakon rokova prikazanih na vašoj Play konzoli mogu se ukloniti s Google Playa.
Potrebna je radnja
- 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.
- Ažurirajte zahvaćene aplikacije i uklonite ranjivosti.
- 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 objekte na razini aplikacije izlažu kodu JavaScripta putem addJavascriptInterface i učitavaju nepouzdani web-sadržaj ranjivi su na JavaScript Interface Injection. Nepouzdani sadržaj može izvršiti bilo koju od metoda izloženih objekata koje su označene s @JavascriptInterface, što dovodi do curenja podataka, njihovog oštećenja ili čak proizvoljnog izvršavanja koda.
Preporučujemo da spriječite tu ranjivost na jedan od sljedećih načina:
1. opcija: onemogućite da WebViews dodaju objekte u JavaScript sučelje
Onemogućite dodavanje objekata u JavaScript sučelje za bilo koji WebView koji učitava nepouzdani web-sadržaj. To možete učiniti na dva načina:
Onemogućite dodavanje objekata u JavaScript sučelje pozivanjem addJavascriptInterface.
-
Uklonite objekte iz JavaScript sučelja u shouldInterceptRequest putem removeJavascriptInterface prije nego što WebView učita nepouzdani sadržaj.
2. opcija: onemogućite da WebViews učitavaju nepouzdani web-sadržaj
Ako aplikacija treba izložiti objekte JavaScript sučelju za WebView, onemogućite da taj WebView učitava web-sadržaj nekriptiranom vezom. Možete postaviti android:usesCleartextTraffic na "false" u datoteci Manifest ili postaviti značajku Network Security Config koja onemogućuje HTTP promet. Možete i potpuno onemogućiti to da WebView učitava URL-ove s HTTP shemom putem loadUrl.
Onemogućite da WebView s JavaScript sučeljem učitava neprovjerene URL-ove dobivene iz nepouzdanih izvora (na primjer URL-ovi dobiveni iz nepouzdanih namjera Intents).
Rado ćemo vam pomoći
Ako imate tehnička 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.