sec_₿sec.21ideas.org
galoy/blink stack · Blink Wallet
Эксплуатация подтвержденаПатч естьХодлерыОператоры нод6 октября 2026

Подделка scope в OAuth-согласии Galoy/Blink давала любому клиенту права администратора; в сентябрьской атаке угнаны 35 счетов, с 24 выведены средства

Приложение согласия Galoy/Blink принимало список scope прямо из браузерной формы и не сверяло его с тем, что запросил OAuth-клиент, поэтому обычный зарегистрированный пользователь получал токен с полным административным набором прав. В затронутых развёртываниях админ-шлюз и admin GraphQL API доверяли этим scope без собственной проверки, что открывало чтение данных клиентов (балансы, история, контакты, способы входа), смену email и телефона и захват аккаунта через passwordless-вход. Компрометация ключей подписи не требовалась: токены выпускал сам провайдер идентичности, поэтому проверка подписи атаку не видит. По данным разбора инцидента, в сентябре 2026 года в Blink этим путём захвачены 35 кастодиальных счетов и с 24 из них выведено около 6,61 BTC.

Что делать

Операторам развёртываний Galoy/Blink обновиться сейчас до версии 0.22.65 или более поздней с сохранённым фиксом (либо бэкпортировать исправление согласия и admin API), обновив оба компонента; оставить выделенное значение admin-audience включённым и не пользоваться опцией его отключения. Одновременно исправьте конфигурацию продакшн-шлюза: уберите путь, пробрасывающий клиентские токены на админ-API, и закройте админ-API в VPN или приватную сеть как временную меру. Затем проверьте выданные гранты и токены на неожиданные административные scope, отзовите неавторизованные гранты, access- и refresh-токены, погасите сессии и восстановите изменённые контактные данные по верифицированной процедуре — патч не отменяет уже выданных полномочий. Держателям средств на кастодиальных счетах таких сервисов проверьте контактные данные и историю операций в аккаунте и обратитесь к оператору при расхождениях.

Оповещение оказалось полезным? Поддержи проект!

Не пропусти следующее оповещение.