Предыдущее исследование
Некоторое время назад мой коллега нашел интересную уязвимость в библиотеке Jetpack Navigation, которая позволяет открывать любой экран приложения в обход существующих ограничений для компонентов не являющихся экспортированными, а следовательно недоступными для других приложений. Суть проблемы в наличии неявного механизма обработки depplink-ов, с которым может взаимодействовать любое приложение на устройстве. Это исследование завершилось тем, что компания Google добавила в документацию к библиотеке следующее предупреждение:
Проблема этого предупреждения в том, что оно, исходя из контекста документации, касается только API для создания явных deeplink-ов. Хотя на самом деле проблема гораздо глубже. Но давайте обо всем по порядку.
[Далее]