APN VPN использует идентификатор principal для определения пользователя и его подписки.
При анализе приложения не обнаружено привязки principal к:
Google Play аккаунту;
Purchase Token;
устройству пользователя;
аппаратному идентификатору.
Если злоумышленник получает набор валидных principal (например через утечку данных или резервные копии), он может использовать их для автоматизированных попыток доступа к чужим подпискам.
Технические детали:
Формат principal [A-Z0-9]^9
Авторизация строится вокруг значения:
clientId = principal
Дополнительные механизмы подтверждения владельца аккаунта не обнаружены.
Влияние:
В случае утечки списка principal возможны:
массовая проверка аккаунтов;
автоматизированные попытки доступа к подпискам;
подготовка атак на чужие аккаунты.
Рекомендации
Привязать principal к Purchase Token или аккаунту пользователя.
Добавить дополнительные проверки на стороне сервера.
Ограничить количество попыток проверки идентификаторов.
CWE-307 (Improper Restriction of Excessive Authentication Attempts)
APN VPN использует идентификатор principal для определения пользователя и его подписки.
При анализе приложения не обнаружено привязки principal к:
Google Play аккаунту;
Purchase Token;
устройству пользователя;
аппаратному идентификатору.
Если злоумышленник получает набор валидных principal (например через утечку данных или резервные копии), он может использовать их для автоматизированных попыток доступа к чужим подпискам.
Технические детали:
Формат principal [A-Z0-9]^9
Авторизация строится вокруг значения:
clientId = principal
Дополнительные механизмы подтверждения владельца аккаунта не обнаружены.
Влияние:
В случае утечки списка principal возможны:
массовая проверка аккаунтов;
автоматизированные попытки доступа к подпискам;
подготовка атак на чужие аккаунты.
Рекомендации
Привязать principal к Purchase Token или аккаунту пользователя.
Добавить дополнительные проверки на стороне сервера.
Ограничить количество попыток проверки идентификаторов.
CWE-307 (Improper Restriction of Excessive Authentication Attempts)