Январский патч для платформы Electron не полностью закрывает брешь CVE-2018-1000006. К такому выводу пришел ИБ-эксперт Лука Кареттони (Luca Carettoni) из исследовательской компании Doyensec. Специалист выяснил, что баг в обновлении позволяет перехватывать пользовательский трафик из приложений, созданных при помощи фреймворка.

Уязвимость Electron касалась возможности инъекции кода в URL-адреса в приложениях, использующих собственный обработчик протокола. Исследователь обнаружил, что обновление решает проблему при помощи черного списка — перечня команд, запрещенных для внедрения в URL. По недосмотру разработчиков туда не попал важный оператор host-rules, который позволяет перенаправлять запросы скомпрометированного приложения.

Используя этот метод, удаленный злоумышленник может перехватить весь трафик, генерируемый при помощи библиотек движка Chromium, включенных в Electron.

Эксперт продемонстрировал PoC-код, который автоматически запускает Skype при посещении страницы, содержащей вредоносный код. При этом все данные, передаваемые мессенджером, становятся доступны создателю эксплойта.

Помимо атаки посредника, уязвимость делает возможным удаленное внедрение кода и межсайтовый скриптинг. Если же приложение использует интеграцию с node.js, то список векторов нападения значительно расширяется. Брешь выглядит еще более опасной, если вспомнить недавние проблемы Electron с JavaScript-библиотеками, выявленные в CVE-2018-1000136.

Для эксплуатации уязвимости не требуется дополнительных действий со стороны пользователя, достаточно лишь привести его на страницу, содержащую вредоносный код. Кареттони подчеркивает, что host-rules управляет лишь трафиком Chromium, поэтому инъекции через код других библиотек невозможны.

Специалист сообщил об обнаруженной проблеме разработчиками Electron, которые за два дня подготовили новый релиз фреймворка. Версии 2.0.1, 1.8.7 и 1.7.15 содержат пропатченный черный список.

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

Однако обновлением платформы вопрос не ограничивается. До тех пор пока авторы программ, созданных при помощи Electron, не выпустят патчи для своих продуктов, их пользователи остаются под угрозой.

Фреймворки предоставляют программистам удобную среду и широкий выбор библиотек для создания приложений. Это существенно облегчает разработку, но несет в себе дополнительные риски — компрометация платформы влечет за собой уязвимость работающих на ней программ.

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

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