Одному из «этичных хакеров» удалось получить от Facebook $10 000 за обнаружение уязвимости в Facebook Messenger. Эту брешь злоумышленник мог использовать для получения доступа к изображениям пользователя.
Еще в прошлом году эксперт Дмитрий Лукьяненко, специализирующийся на безопасности приложений для Android, решил проверить Facebook Messenger на предмет корректной обработки поврежденных GIF-файлов.
На эту мысль его натолкнула другая уязвимость — в ImageMagick, которую обнаружили в 2016 году.
Лукьяненко создал несколько специальных файлов GIF, чтобы понаблюдать за тем, как они обрабатываются. Изначально эксперту удалось добиться экстренного закрытия приложения Facebook Messenger на платформе Android. Однако Facebook не заплатила за эту DoS-дыру.
Чуть позже исследователь обратил внимание, что тестовый файл GIF, который он загрузил в Messenger, отображался, по его же собственным словам, как «странное изображение». Это происходило, если зайти в мессенджер в браузере.
Лукьяненко немного поэкспериментировал с размером изображения и получил результат, который напоминал картинку, выводимую на старых телевизорах при отсутствии сигнала.
Еще после нескольких тестов его GIF отобразился в качестве искаженной версии настоящего изображения.
Именно в этот момент специалист осознал — он получил данные изображения, которое было загружено до этого другим пользователем.
Несмотря на то, что Лукьяненко не удалось доказать, что подобный способ подходит для получения доступа к конфиденциальным данным, Facebook все же выплатила исследователю $10 000. Спустя менее чем две недели разработчики выпустили патч, который устранил данную дыру.
Технические подробности уязвимости можно узнать, прочитав блог Лукьяненко. Также он опубликовал видео, в котором демонстрируется эксплуатация данной проблемы: