Fragmentu iespējošanas ievainojamības novēršana

Šī informācija ir paredzēta izstrādātājiem, kuri savā(-ās) lietotnē(-ēs) nedroši izmanto klases PreferenceActivity un tādēļ ir pakļauti fragmentu iespējošanas riskam. Šādos gadījumos ļaunprātīga ārēja lietotne var ielādēt fragmentus, kuriem ir jābūt privātiem.

Problēma

Sākot no 2017. gada 1. marta, pakalpojumā Google Play tiek liegta jebkuru jaunu lietotņu vai atjauninājumu publicēšana, kuros var būt fragmentu iespējošanas ievainojamība klasēs PreferenceActivity. Lūdzu, skatiet paziņojumu savā Play Console kontā. Pēc jūsu Play Console kontā norādītajiem termiņiem no pakalpojuma Google Play var tikt noņemtas visas lietotnes, kurās nebūs novērsta drošības ievainojamība.

Nepieciešamā rīcība​

  1. Pierakstieties savā Play Console kontā un sadaļā “Brīdinājumi” skatiet ietekmētās lietotnes un termiņus šo problēmu novēršanai.
  2. Atjauniniet savas ietekmētās lietotnes un novērsiet ievainojamību.
  3. Iesniedziet savu ietekmēto lietotņu atjauninātās versijas.

Pēc atkārtotas iesniegšanas jūsu lietotne tiks vēlreiz pārskatīta. Šis process var ilgt vairākas stundas. Ja pēc pārskatīšanas lietotne tiek apstiprināta un veiksmīgi publicēta, vairs nav jāveic nekādas darbības. Ja pēc pārskatīšanas lietotne netiek apstiprināta, tās jaunā versija netiek publicēta un jums tiek nosūtīts paziņojums pa e-pastu.

Papildinformācija

Ja iespējams, savā manifestā iestatiet klases PreferenceActivity parametru “exported=false”. Tādējādi tiks novērsta nolūku sūtīšana no svešām lietotnēm uz šo klasi.

Ja ievainojamā klase PreferenceActivity ir jāeksportē ārējās lietotnēs, nosakiet, kāpēc klase ir ievainojama, un veiciet nepieciešamās darbības. Pastāv divas tālāk minētās iespējas.

  1. Nepareiza parametra isValidFragment ieviešana.

Pārbaudiet, vai ievainojamajā klasē nav ietverts vai mantots parametrs isValidFragment, kas atgriež vērtību “true” visos koda ceļos. Ja tā ir, atjauniniet klasi, lai pārbaudītu atļauto fragmenta klašu sarakstu. Piemērs. Ja PreferenceActivity ir jāatļauj tikai MyFragment klases, ieviesiet tālāk norādīto pārbaudi.

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

         }

  1. Parametra targetSdkVersion vērtība ir mazāka par 19, un tas neievieš parametru isValidFragment.

Ja pašlaik lietotne manifestā iestata parametra targetSdkVersion vērtību uz mazāku par 19 un ievainojamajā klasē nav parametra isValidFragment, ievainojamība tiek mantota no klases PreferenceActivity.

Lai to novērstu, izstrādātājiem ir jāatjaunina parametra targetSdkVersion vērtība uz 19 vai augstāku vērtību. Ja parametru targetSdkVersion nevar atjaunināt, izstrādātājiem ir jāievieš parametrs isValidFragment, kā aprakstīts 1. iespējā, lai pārbaudītu atļautās fragmentu klases.

Ņemiet vērā, ka lietotnēm ir arī jāatbilst izstrādātāja izplatīšanas līgumam un satura politikai

Mēs jums palīdzēsim

Ja jums ir tehniski jautājumi par ievainojamību, varat tos publicēt vietnē Stack Overflow, izmantojot atzīmi “android-security”. Lai uzzinātu, kā novērst šo problēmu, varat sazināties ar mūsu izstrādātāju atbalsta komandu.

false
Galvenā izvēlne
13609180549759126324
true
Meklēšanas palīdzības centrs
true
true
true
true
true
5016068
false
false