Независимый исследователь Теренс Иден (Terence Eden) обнаружил баг в API аутентификации Twitter. По его словам, не авторизованное сервисом приложение могло получить доступ к личным сообщениям пользователя. При этом уведомление о предоставленных разрешениях, отображаемое в таких случаях, не содержало информации о расширенных привилегиях. Разработчики платформы залатали брешь и выплатили эксперту около $3000 в рамках программы bug bounty.

Как пояснил Иден, несколько лет назад открытые и секретные ключи API Twitter утекли в Интернет и до сих пор доступны на GitHub. После этого сервис внес ряд изменений в алгоритм авторизации приложений, чтобы предотвратить несанкционированное подключение к программному интерфейсу. В частности, разработчики запретили обратный вызов URL, позволявший переадресовывать пользователя на другую программу вместо той, которая получила доступ к системе.

Специалист обнаружил, что эту модель можно обойти, если целевое приложение не имеет URL-адреса, а использует авторизацию по PIN-коду, полученному от сервиса. Эксплуатируя эту брешь, злоумышленники способны запросить у пользователя доступ к его личным сообщениям через приложение, не авторизованное Twitter. При этом в окне логина будет указано, что оно таких прав, напротив, не получает.

Иден сообщил разработчикам сервиса о проблеме через программу поощрения ИБ-специалистов, открытую Twitter на портале HackerOne. Работники социальной сети получили отчет исследователя 6 ноября этого года, а уже через месяц исправили баг.

В сентябре Twitter закрыл в своем API еще одну уязвимость, которая могла стать причиной компрометации персональных данных. Баг затронул партнеров сервиса, использующих движок соцсети для переписки с посетителями своего сайта через специальный плагин. Как выяснили ИБ-специалисты, в определенных случаях такой корреспондент мог получить сообщения, предназначенные другому адресату. Разработчики оценили вероятность эксплуатации бреши как невысокую, однако выпустили заплатку для программного интерфейса.

Категории: Кибероборона, Уязвимости