Odpravljanje ranljivosti, ki omogoča vstavljanje fragmentov

Te informacije so namenjene razvijalcem aplikacij, ki uporabljajo izvedbo razredov PreferenceActivity, ki ni varna, zaradi česar so aplikacije izpostavljene nevarnosti napada z vstavljanjem fragmentov. Tovrstna izvedba lahko zlonamerni zunanji aplikaciji omogoča nalaganje fragmentov, ki bi morali biti zasebni.

Kaj se dogaja?

Google Play je 1. marca 2017 začel blokirati objavo vseh novih aplikacij ali posodobitev, pri katerih so razredi PreferenceActivity morda ranljivi za vstavljanje fragmentov. 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

  1. 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.
  2. Posodobite aplikacije, ki jih to zadeva, in odpravite ranljivost.
  3. Pošljite posodobljene različice aplikacij, ki jih to zadeva.

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

Kjer je mogoče, v manifestu za razred »PreferenceActivity« nastavite vrednost »exported=false«. S tem preprečite, da bi tuje aplikacije temu razredu pošiljale namene.

Če je treba ranljivi razred PreferenceActivity izvoziti v tuje aplikacije, ugotovite, zakaj je razred ranljiv in ustrezno ukrepajte. Možnosti sta dve:

  1. Nepravilna izvedba metode »isValidFragment«:

Preverite, ali ranljiv razred vsebuje ali podeduje izvedbo metode isValidFragment, ki vrne vrednost »true« za vse poti kode. Če to drži, razred posodobite tako, da bo preverjal, ali je na voljo seznam dovoljenih razredov fragmentov. Na primer: če naj razred »PreferenceActivity« dovoli razrede »MyFragment« in nobenih drugih fragmentov, uporabite tovrstno preverjanje:

         public boolean isValidFragment(String fragmentName) {
            return MyFragment.class.getName().equals(fragmentName);

         }

  1. Atribut »targetSdkVersion« je manjši od 19 in nima izvedene metode »isValidFragment«:

Če ima aplikacija v manifestu vrednost atributa »targetSdkVersion« nastavljeno na manj kot 19 in ranljivi razred ne vsebuje izvedbe metode »isValidFragment«, podeduje ranljivost iz razreda »PreferenceActivity«.

Če želijo razvijalci odpraviti to ranljivost, morajo posodobiti atribut »targetSdkVersion« na različico 19 ali novejšo. Če atributa »targetSdkVersion« ni mogoče posodobiti, morajo razvijalci izvesti metodo »isValidFragment«, kot je opisano v prvem postopku, s katerim lahko preverijo dovoljene razrede fragmentov.

Upoštevajte, da morajo biti aplikacije skladne s pogodbo o distribuciji za razvijalce in pravilnikom o vsebini

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.

false
Glavni meni
8124835997471229175
true
Iskanje v centru za pomoč
true
true
true
true
true
5016068
false
false