Действие средства запуска AppActivity в Android-приложении Datadog объявлено android:exported="true" с параметром launchMode="singleTask" и без защиты разрешений. При каждом onCreate и onNewIntent он вызывает Intent.getUserSession(), расширение, которое десериализует полный UserSession — идентификатор пользователя, токены доступа и обновления OAuth, хост, организацию, центр обработки данных и разрешения — из дополнительных компонентов Bundle, связанных с пространством имен com.datadog.app.*. Это расширение находится в основном наборе исходного кода, а не в наборе исходного кода, предназначенном только для тестирования, несмотря на вводящий в заблуждение комментарий, ссылающийся на внутренние тестовые приспособления.
Любое приложение, установленное на устройстве, может вызывать панель запуска с произвольными дополнительными функциями сеанса. Конвейер запуска принимает внедренный сеанс, сохраняет его в пользовательском хранилище, при необходимости меняет постоянное хранилище токенов, если установлен дополнительный параметр OAUTH_OVERRIDE_TOKEN, и выполняет автоматический вход под учетной записью, выбранной злоумышленником. Средство подготовки сеанса возвращает Ready без обращения к серверной части всякий раз, когда введенный токен доступа не помечен как истекший или срок действия которого истекает в ближайшее время, поэтому перед автоматическим входом в систему не выполняется самоанализ токена на стороне сервера.
Предварительные условия: приложение Datadog, установленное на устройстве жертвы, и совместно установленное вредоносное приложение с нулевым разрешением. Злоумышленник должен обладать любым токеном доступа OAuth, который жертва желает использовать, включая собственные токены Datadog злоумышленника.
Показать оригинальное описание (EN)
In versions of the Datadog Android application prior to v541-5.9.2, the exported launcher activity AppActivity accepts an attacker-supplied session (including OAuth tokens) from Intent extras with no permission guard, and signs the app into that session without validating it against the backend. This requires a malicious application co-installed on a device with the Datadog app installed, and an OAuth token the attacker is willing to load into the victim's app. Impact: A co-installed application can switch the victim's Datadog app to a session the attacker controls. This is an account-confusion issue; it does not by itself expose the victim's existing session or data.
Характеристики атаки
Последствия
Строка CVSS v3.1