Шесть действий по настройке виджета приложения Android в приложении Datadog Android объявлены android:exported="true" без защиты разрешений: IncidentWidgetActivity, MonitorSavedViewWidgetActivity, OnCallShiftsWidgetActivity, OnCallPagesWidgetActivity, SloWidgetActivity и DashboardWidgetActivity. Все шесть расширяют общую базовую WidgetActivity, которая считывает AppWidgetManager.EXTRA_APPWIDGET_ID из дополнительных элементов Intent и, когда не указан разрешенный пункт назначения глубокой ссылки, использует этот идентификатор виджета, управляемый вызывающим абонентом, для поиска сохраненного определения виджета, извлечения связанного сеанса пользователя и выполнения автоматического входа в систему с исходным UserSessionSourceLogin.Automatic. Идентификаторы виджетов приложений Android — это небольшие последовательные целые числа, назначаемые AppWidgetManager.
Совместно установленное приложение с нулевым разрешением может взломать их, запустив любое из шести действий по настройке с EXTRA_APPWIDGET_ID, установленным на 1..N, пока одно из них не совпадет с настроенным виджетом на устройстве-жертве. Когда происходит совпадение, действие выходит на передний план с уже загруженным сеансом жертвы и отображает пользовательский интерфейс конфигурации виджета, который поддерживается средствами выбора данных в реальном времени (SLO, информационные панели, серьезность и типы инцидентов, страницы дежурства и смены), полученные через аутентифицированный HTTP-клиент жертвы. Эксфильтрация доступна только для просмотра на экране — программный возврат данных вызывающему абоненту в результате этих действий невозможен.
Таким образом, раскрытие информации — это визуальный побочный канал: службы доступности, запись экрана или снимок экрана. Предварительные условия: совместно установленное вредоносное приложение, как минимум один из шести виджетов, настроенных на главном экране жертвы, и активный сеанс Datadog, кэшированный локально.
Показать оригинальное описание (EN)
In versions of the Datadog Android application prior to v545-5.9.2, six App Widget configuration activities (IncidentWidgetActivity, MonitorSavedViewWidgetActivity, OnCallShiftsWidgetActivity, OnCallPagesWidgetActivity, SloWidgetActivity, DashboardWidgetActivity) are exported with no permission guard. Each accepts a caller-supplied AppWidgetManager.EXTRA_APPWIDGET_ID and, when no deep-link destination is resolved, uses it to load the matching widget's stored session and automatically log in as that user. Because Android widget IDs are small sequential integers, a co-installed application can brute-force this value to find one that matches a widget configured on the victim's device. This requires: A malicious application co-installed on the victim's device. At least one of the six widgets configured on the victim's home screen. An active Datadog session cached locally. Impact: The matching configuration activity opens in the foreground under the victim's session and renders live infrastructure data. Exposure is limited to a visual side channel (e.g., screen recording or accessibility services); the calling application cannot programmatically read the rendered data.
Характеристики атаки
Последствия
Строка CVSS v3.1