Уязвимость в Twitter позволяла отправлять сообщения от имени любого человека

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

По словам разработчиков Twitter, причиной существования уязвимости являлся механизм обработки запросов рекламным сервисом Twitter Ads Studio. Так, если хакер поделится с пользователем медиаконтентом, а затем изменит POST-запрос с идентификатором целевого аккаунта, то упомянутую информацию можно разместить от лица жертвы. Кроме того, в компании подчеркнули, что не удалось обнаружить каких-либо свидетельств использования уязвимости хакерами, а на данный момент проблему уже устранили.

Kedrisec утверждает, что в Twitter Ads Studio присутствует проблемная медиабиблиотека, которая позволяет пользователям как просмотреть перед публикацией загруженные медиафайлы, так и разместить их в твите или поделиться ими с другими людьми.

Проводя анализ работы библиотеки, Kedrisec попробовал осуществить перехват запросов и подмену в них параметров owner_id (идентификатор владельца изображения) и user_id (идентификатор адресата), но это вызвало сообщение об ошибке, согласно которому для проведения операции необходим media_key (идентификатор медиафайла). После замены параметров owner_id и user_id с добавлением media_key через POST исследователю удалось добиться цели.

Ограничение для данной атаки – хакер должен знать media_key. Таким образом разместить твит от имени другого человека можно лишь, если последний осуществил загрузку медиафайла, а злоумышленник знает media_key, состоящий из 18 символов. Но если хакер сам поделился с жертвой медиафайлом, то киберпреступник уже знает media_key.

Уязвимость была обнаружена экспертом еще в феврале текущего года, и специалисты Twitter ликвидировали проблему за несколько дней. Kedrisec получил за находку премию в 7560 долларов.