Списки друзей и платежная информация могли быть раскрыты из-за уязвимостей в Facebook

ИБ-эксперт Йосип Франькович выявил в Android-приложении Facebook уязвимости, которые давали возможность получить доступ к спискам друзей пользователей социальной сети, а также похитить их платежную информацию.

По словам Франьковича, у Facebook есть конечная точка GraphQL, которая применяется лишь некоторыми приложениями, созданными разработчиками Facebook. Обычно для запроса GraphQL нужен токен доступа (access_token) страницы или пользователя.

Эксперт рассказал, что он решил попробовать воспользоваться клиентским токеном Android-приложения Facebook, но конечная точка вывела уведомление об ошибке. Франькович не стал отправлять постоянный запрос, но в уведомлении сообщалось, что разрешены лишь постоянные запросы из «белого списка». Так как исследователь занимался сбором постоянных GraphQL-запросов Facebook, он решил запустить некоторые из них и выяснить, находятся ли они в «белом списке».

Франьковичу не удалось обнаружить запрос из белого списка: на экран постоянно выводилось одно и то же сообщение об ошибке. Тогда эксперт вспомнил об еще одном способе отправки постоянных запросов, который предполагает применение doc_id в качестве идентификатора запроса. Уведомление об ошибке больше не появлялось, но почти каждый раз в ответе содержалась публично доступная информация. На один из запросов эксперт получил ответ с перечнем друзей, несмотря на настройки конфиденциальности, установленные пользователем.

Франькович сообщил в Facebook о своей находке в начале октября 2017 года, после чего корпорация устранила уязвимость.

Также исследователь обнаружил уязвимость, которая раскрывала платежную информацию любого пользователя Facebook. Проблема в Graph API давала возможность получить через поле payment_modules_options различные данные: страна, почтовый индекс, имя владельца, срок истечения действия карты, а также первые шесть и последние четыре цифры номера платежной карты.

Франькович выявил уязвимость посредством перехвата всех запросов, отправляемых Android-приложением Facebook в ходе регистрации и авторизации. Эксперт рассказал о ней специалистам Facebook 23 февраля 2018 года. Уязвимость была устранена через 13 часов.