React Native (исправление перенаправления с намерением): какой эквивалент getCallingActivity() для проверки вредоносного перенаправления?

#android #react-native #google-play #react-native-android #android-security

#Android #google-play #react-native #android-безопасность

Вопрос:

Нас попросили внести изменения в наше приложение react native, когда обновленная версия была отправлена в Google Play Store. Выделенной проблемой была уязвимость «Перенаправление намерений». Это был устаревший код, но, тем не менее, лучше поздно, чем никогда.

Один из предложенных методов в справочном руководстве Google был следующим:

Вариант 2. Убедитесь, что извлеченное намерение получено из надежного источника.

Вы можете убедиться, что исходному действию можно доверять, используя такие методы, как>getCallingActivity . Например:

  // check if the originating Activity is from trusted package
 if (getCallingActivity().getPackageName().equals(“known”)) {
   Intent intent = getIntent();
   // extract the nested Intent
   Intent forward = (Intent) intent.getParcelableExtra(“key”);
   // redirect the nested Intent
   startActivity(forward);
 }
  

При изменении кода в соответствии с этим руководством сборка показала ошибку, которая getCallingActivity не была известным символом. Код уже использует getCurrentActivity и getApplicationContext .

Каким был бы наилучший способ для нас исправить в нашем приложении React Native эту уязвимость в нашем собственном Java-коде?

Буду глубоко признателен за вашу быструю поддержку здесь. Спасибо!

Комментарии:

1. Та же проблема для меня. Вы нашли решение deetho?

2. Я сталкиваюсь с той же проблемой? : ( ищу решение

3. Вы нашли какое-либо решение @RameshKumar?

4. Нет @SudeepKumar . Я столкнулся с этой проблемой при использовании модуля rezorpay react native. Ждем от них нового выпуска.

5. У меня та же проблема, не знаю, какая зависимость от react-native в package.json вызывает это. Есть ли способ узнать? Я не использую RazorPay. Спасибо!

Ответ №1:

RazorPay выпустил новую версию. Пожалуйста, перейдите по ссылке ниже для получения дополнительной информации.

https://github.com/razorpay/react-native-razorpay/issues/291

Ответ №2:

Нам пришлось обновить нашу зависимость от react-native-share. В выпусках упоминаются некоторые исправления безопасности некоторое время назад. После обновления до 4.x мы перестали получать электронные письма от Google об уязвимости в системе безопасности.

Ответ №3:

Можете ли вы попробовать прочитать этот документ? https://static.googleusercontent.com/media/www.google.com/en//about/appsecurity/play-rewards/Android_app_vulnerability_classes.pdf