Исследователь обнаружил нулевой день в Facebook, позволяющий захватить любую страницу

TL;DR
Исследователь безопасности из Индии обнаружил критическую уязвимость нулевого дня в Facebook Business Manager, позволяющую захватывать чужие страницы через ошибку в управлении объектами. Facebook временно удалил уязвимый эндпоинт и выпустил фиксы в течение недели; автору выплатили вознаграждение $16,000.
Что произошло
Facebook Pages — основной инструмент для брендов, организаций и публичных лиц, чтобы взаимодействовать с аудиторией. Исследователь по безопасности Арун Сурешкумар обнаружил, что неправильная обработка запросов в Business Manager позволяет обойти контроль доступа и получить права администратора на любую страницу.
Арун подробно описал находку в своём блоге и продемонстрировал Proof-of-Concept. Он показал, что через уязвимый маршрут можно подставить ссылки на объекты страниц и получить доступ, даже не будучи связанным с владельцем страницы.
Техническая суть уязвимости
Краткое определение: IDOR (Insecure Direct Object References) — уязвимость, когда приложение напрямую использует идентификаторы объектов без надлежащей проверки прав.
Как это работало:
- Business Manager использует внутренние идентификаторы страниц и бизнес-активов.
- Эндпоинт принимал идентификатор объекта и возвращал или менял права без проверки, принадлежит ли этот объект текущему бизнесу.
- Исследователь подставлял идентификаторы чужих страниц и получал административный доступ.
Почему это серьёзно:
- Право администратора позволяет публиковать от имени страницы, настраивать рекламу, менять роли и интеграции.
- Через административный доступ злоумышленник может нарушить репутацию бренда, похитить аудитории и получить доступ к аналитике.
Демонстрация и доказательство
Арун опубликовал PoC-видео, где показано, как через Business Manager он получает доступ к страницам публичных лиц и организаций.
Реакция Facebook и исправление
Арун сообщил об уязвимости в службу безопасности Facebook. Команда по безопасности подтвердила критичность. Facebook временно удалил уязвимый эндпоинт, а затем выпустил окончательную правку в течение недели. За найденный баг автор получил $16,000 по программе баг-баунти.
Влияние и риски для владельцев страниц
- Потеря контроля над страницей.
- Публикация нежелательного контента от имени бренда.
- Финансовые потери через рекламные аккаунты.
- Утечки аудитории и аналитики.
Важно: успешная эксплуатация требовала знания внутренних идентификаторов страниц и возможностей Business Manager. Тем не менее, масштаб риска был высоким, так как механика позволяла атаковать любые публичные страницы.
Рекомендации для владельцев страниц (быстрый чек-лист)
- Проверить список администраторов и убрать неизвестные учетные записи.
- Включить двухфакторную аутентификацию на учетных записях с правами администратора.
- Минимизировать количество людей с правами администратора; применять принцип наименьших привилегий.
- Ограничить интеграции и приложения, имеющие доступ к странице.
- Настроить оповещения о смене ролей и подозрительной активности.
Контрольный список для команд безопасности (роль по ролям)
- Руководителю: проверить политики доступа Business Manager и периодически аудировать права.
- IT/DevOps: запретить публичный доступ к внутренним API и логировать все вызовы эндпоинтов.
- Команде SRE: настроить мониторинг аномалий в поведении админских операций.
- Команде по продукту: минимизировать круг эндпоинтов, которые принимают внешние идентификаторы.
План реагирования для инцидента (короткий runbook)
- Изолировать пострадавшую страницу: временно ограничить публикации и роли.
- Сменить пароли и принудительно выйти сессии администраторов.
- Аудитировать логи изменений ролей и IP-адреса, с которых выполнялись запросы.
- Уведомить подписчиков и партнёров, если был опубликован вредоносный контент.
- Восстановить доступ через проверенные каналы и пересмотреть интеграции.
- Провести ретроспективу и внести изменения в политики доступа.
Модель мышления: почему такие уязвимости повторяются
- Ментальная модель: приложение защищает объект, но не проверяет связь между объектом и субъектом. Если код оперирует только ID, без контекста владельца, возникает окно для IDOR.
- Характерная ошибка — доверять идентификатору, пришедшему от клиента, вместо проверки владения или прав через серверные правила.
Альтернативные подходы к защите (коротко)
- Валидация владения: всегда сопоставлять объект со списком ресурсов, доступных у этого бизнеса.
- Политика «области видимости»: не возвращать и не изменять объекты за пределами области действия текущего токена.
- Централизованная авторизация: использовать отдельный сервис авторизации, который проверяет права на уровне бизнес-оборот.
Факт-бокс — ключевые параметры
- Уязвимость: IDOR в Facebook Business Manager.
- Степень риска: высокая (административный доступ к страницам).
- Время исправления: временное удаление эндпоинта + финальный патч в течение недели.
- Вознаграждение: $16,000.
Критерии приёмки (после исправления)
- Эндпоинт возвращает или изменяет объекты только после проверки прав на владение.
- Все доступы проходят через централизованный авторизационный слой.
- Есть аудиторские логи изменений ролей с возможностью оповещения.
- Нагрузочные и функциональные тесты покрывают сценарии подмены идентификаторов.
Глоссарий — одно предложение на термин
- Нулевой день: уязвимость, о которой ещё не знают или не выпустили публичный патч.
- IDOR: уязвимость, когда приложение использует идентификаторы объектов без проверки прав.
- Business Manager: инструмент Facebook для управления страницами, рекламой и доступами в одном месте.
Краткое резюме
Арун Сурешкумар нашёл критическую IDOR-уязвимость в Facebook Business Manager, которая позволяла захватывать страницы. Facebook оперативно подтвердила проблему, временно удалила уязвимый эндпоинт и выпустила исправление в течение недели. Владельцам страниц и командам безопасности рекомендуется провести аудит прав, включить 2FA и внедрить мониторинг изменений.
Важно: регулярно проверяйте права доступа и минимизируйте число администраторов, чтобы снизить риск подобных атак.
Похожие материалы

Исправить «DNS‑сервер не отвечает» в Windows 11

Как увидеть лайкнутые посты в Instagram

Как посмотреть посты, которые вы лайкали в Instagram

Нулевой день в Facebook: захват страниц
