Эксперты Check Point обнаружили опасную уязвимость (CVE-2020-1895) в Instagram для Android и iOS, которая позволяла захватить учетную запись пользователя и превратить его телефон в шпионский инструмент.
Баг получил 7,8 баллов из 10 возможных по шкале оценки уязвимостей CVSS и, по данным разработчиков Facebook, влиял на версии до 128.0.0.26.128. К счастью, проблема была устранена еще в феврале 2020 года, так как ее выявили более полугода назад, и у разработчиков было достаточно времени на создание и распространение патчей.
Все, что требовалось для атаки – отправить жертве вредоносную картинку, причем любым способом (по электронной почте, через мессенджер и так далее). Пользователь сохраняет это изображение на своем телефоне, и когда после этого запускается Instagram, эксплоит срабатывает, предоставлял хакеру полный доступ к сообщениям и изображениям в Instagram жертвы, позволяя публиковать или удалять изображения, а также давая доступ к контактам телефона, камере, данным о местоположении и локальным файлам.
«Атака может привести к вторжению в частную жизнь пользователей, может повлиять на их репутацию, или привести к более серьезным проблемам с безопасностью. На самом базовом уровне эксплоит мог использоваться для выведения из строя приложения Instagram, которое не заработает до тех пор, пока пользователь не удалит его со своего устройства и не установит заново, что может быть связано с определенными неудобствами и возможной потерей данных», — пишут эксперты.
Проблема заключалась в том, как Instagram работает со сторонними библиотеками, используемыми для обработки изображений. В частности, экспертов Check Point заинтересовало решение MozJPEG, опенсорсный декодер JPEG, разработанный Mozilla, который использовался Instagram для обработки изображений (для улучшения сжатия и производительности).
Как оказалось, MozJPEG использовалась в Instagram некорректно, и исследователям удалось спровоцировать целочисленное переполнение, когда уязвимая функция read_jpg_copy_loop пыталась обработать вредоносное изображение со специально заданными размерами.
Исследователи отмечают, что фаззинг позволил обнаружить сразу несколько проблем, одна из которых, при желании, могла использовать как RCE и срабатывать вообще без участия пользователя.
Также аналитики компании пишут, что проблема слишком широких прав, которые требуются для работы некоторых приложений, сегодня актуальна как никогда. К примеру, картографическое приложение может иметь доступ к местоположению пользователя, но оно не должно иметь доступа к микрофону и камере, а приложение для знакомств должно иметь доступ к камере, но ни к чему другому.
«Что случился, если приложение будет иметь множество разрешений на вашем устройстве? Если такое приложение будет взломано, хакер получит легкий доступ к данным GPS, камере, микрофону, контактам и многому другому», — предостерегают в компании.