Ошибка Facebook раскрыла данные платежной карты и списки друзей

Консультант по веб-безопасности обнаружил уязвимость Facebook, раскрывающую списки друзей и учетные данные

Уязвимость Facebook уже исправлена

Facebook - одна из наиболее широко используемых платформ социальных сетей в Интернете, и консультант по веб-безопасности Дж. Франькович обнаружил 6 октября 2017 года массовую уязвимость, которая раскрывает списки друзей, несмотря на настройки конфиденциальности пользователя. Это означает, что любой хакер может обойти систему и увидеть всех друзей любого пользователя Facebook.

Кроме того, ранее исследователь также обнаружил ошибку Facebook, позволяющую получать различные реквизиты платежных карт, используемых людьми в социальной сети. Уязвимость была обнаружена 23 февраля 2017 года и помогла исследователю получить учетные данные любого пользователя Facebook.

Недостаток Facebook выявил первые шесть цифр карты, которые помогают идентифицировать банк, который ее предоставил.[1]. Кроме того, консультанту по безопасности удалось получить последние четыре цифры платежной карты, имя держателя карты, тип карты, почтовый индекс, страну, месяц и дату истечения срока действия.

Исследователь обошел механизм белых списков.

Дж. Франькович сказал, что есть способ раскрыть список друзей с помощью GraphQL.[2] запросы и токен клиента[3] из приложений, разработанных Facebook. Исследователю удалось обойти механизм белых списков, используя «doc_id» вместо «query_id» и access_token из приложения Facebook для Android.

После внесения в белый список[4] механизм был обойден, Дж. Франькович отправил запросы GraphQL. Хотя большинство из них раскрывают только те данные, которые уже являются общедоступными, CSPlaygroundGraphQLFriendsQuery предоставляет скрытый список друзей любого пользователя Facebook, чей идентификатор был включен.

Подобно последней ошибке, еще одна была связана с GraphQL и помогала получить данные кредитной карты. Исследователь также использовал идентификатор пользователя из учетной записи жертвы в Facebook и access_token, который можно взять из приложения Facebook для Android.

Дж. Франькович описывает эту уязвимость Facebook как хрестоматийный пример небезопасной ошибки прямой ссылки на объект, также известной как IDOR.[5]:

Это хрестоматийный пример небезопасной ошибки прямой ссылки на объект (IDOR).

Facebook исправил ошибку за несколько часов

Реакция команды Facebook на сообщение о существующей уязвимости удивила консультанта по веб-безопасности. Исследователь получил ответ о возможности утечки списков друзей менее чем через неделю, 12 октября. ИТ-специалисты исправили ошибку 14 октября и заблокировали обход механизма белых списков 17 октября 2017 года.

При этом ответ на отчет об утечке информации о кредитной карте был получен менее чем через 40 минут, а уязвимость была устранена через 4 часа 13 минут.