Популярный фреймворк поставил под угрозу безопасность OS X

Исследователь информационной безопасности Радослав Карпович сообщил о том, что применение фреймворка Sparkle Updater несет угрозу для пользователей OS X. Процедура обновления приложений, в которых используется Sparkle Updater, не является безопасной.

Компонент Sparkle Updater позволяет разработчикам существенно облегчить процесс обновления приложений. Благодаря данному фреймворку пользователям не нужно производить проверку обновления в ручном режиме. Причиной существования данной проблемы является забывчивость некоторых разработчиков, которые неправильно настраивают Sparkle Updater, вследствие чего фреймворк часто применяет HTTP, а не HTTPS.

Sparkle Updater использует сервер AppCast, функционирующий подобно RSS-протоколу. Когда разработчики выпускают обновления или анонсируют релиз новой версии приложения, то Sparkle Updater получает соответствующее уведомление. Данные передаются в виде XML-сообщений. Пользователь может осуществлять проверку обновления в ручном режиме, а может доверить это приложению, которое будет работать в автоматическом режиме.

Как выяснил Карпович, при автоматической проверке обновлений передача данных часто производится через протокол HTTP. Подобный механизм заложен в таких популярных программах, как Adium, Coda, iTerm, Facebook Origami, Pixelmator, SequelPro, Tunnelblick и VLC. По мнению исследователя, уязвимых программ может быть гораздо больше.

Используя простую атаку типа man-in-the-middle, Карпович совершил перехват запроса сервера AppCast по поводу обновления и осуществил подмену XML-сообщения на вредоносный код. Поскольку в Sparkle Updater для обработки информации в XML-файлах задействуется компонент WebView, исследователю удалось добиться от удаленного компьютера выполнения произвольного кода, полученного в XML-сообщении. Подобная атака, проведенная киберпреступником, может повлечь полную компрометацию системы.

Карпович также вынудил целевую систему выделить на выполнение процедуры обновления гораздо больше памяти, чем необходимо в действительности, чем спровоцировал квази-DoS состояние.

Разработчики Sparkle Updater в недавно выпущенной версии 0.13.1 исправили эту уязвимость. Карпович разместил в своем блоге детальную инструкцию по проверке приложения на наличие данной бреши.