Ове информације су намењене програмерима са апликацијама које садрже пропуст у вези са Отимањем шеме намере.
Шта се дешава
Једна апликација или више њих садржe проблем у вези са Отимањем шеме намере, што злонамерним мрежама и веб-сајтовима може да омогући да приступају приватним компонентама апликација.Погледајте обавештење у Play конзоли. Уклонићемо из Google Play-а све апликације које и после датума наведених у Play конзоли буду садржале безбедносне пропусте.
Треба да реагујете
-
Пријавите се у Play конзолу и идите до одељка Обавештења да бисте видели које апликације су угрожене и рокове за решавање тих проблема.
-
Ажурирајте апликације на које се ово односи помоћу корака наведених у наставку.
-
Пошаљите ажуриране верзије апликација на које се ово односи.
Када је поново пошаљете, апликација ће поново бити прегледана. Овај процес може да потраје неколико сати. Ако апликација прође преглед и буде објављена, не треба ништа више да предузимате. Ако апликација не прође преглед, онда нова верзија апликације неће бити објављена, а ви ћете добити обавештење имејлом.
Додатне информације
WebViews-ови који посећују непоуздан веб-садржај, рашчлањују линкове intent:// помоћу URI-ја Intent.parseUri и шаљу те намере помоћу startActivity садрже пропусте у вези са Отимањем шеме намере. Злонамерни веб-садржај може да превари ове WebViews-ове да шаљу насумичне намере приватним компонентама апликација. То може да доведе до угрожавања апликација, као што је крађа приватних података о апликацијама којима те компоненте управљају. Имајте на уму да непоуздан веб-садржај укључује садржај са поузданих домена који се учитава преко HTTP-а.
Препоручујемо вам да спречите овај пропуст на један од следећих начина:
1. опција: Уверите се да WebView-ови не могу да шаљу насумичне намере
Апликације могу да ограничавају намере конструисане помоћу URI-ја Intent.parseUri тако да се шаљу само као Implicit Intents компонентама са филтерима намене са категоријом ЗА ПРЕГЛЕД помоћу кода у наставку:
// 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. опција: Уверите се да WebView-ови не учитавају непоуздан веб-садржај
Ако WebView мора да рашчлањује насумичне шеме URL-ова intent://
, уверите се да не учитава непоуздан веб-садржај. Непоуздани веб-садржај обухвата веб-садржај учитан преко везе које није шифрована. Програмери могу да подесе android:usesCleartextTraffic
на Нетачно у манифесту или да подесе Network Security Config која не дозвољава HTTP саобраћај. Могу и да се увере да ниједан WebView са опасним подешавањима не учитава ниједан URL са HTTP шемама помоћу URL-а loadUrl
.
Препоручујемо да се програмери увере да угрожени WebView-ови не учитавају неограничене URL-ове који су добијени из непоузданих извора (на пример, URL-ови добијени од непоузданих намера).
Ту смо да помогнемо
Ако имате техничких питања у вези са пропустом, можете да их поставите на Stack Overflow помоћу ознаке „android-security“. Да бисте разјаснили кораке које треба да предузмете да бисте решили овај проблем, можете да контактирате тим подршке за програмере.