Skip to content

Отсутствие привязки principal к аккаунту или устройству создаёт риск Credential Stuffing #93

Description

@PatGlo1232

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions