Фреймворк node.js Electron используется уже много где. И хотя его не любят фанаты opensource, разработчики продолжают применять его. Однако, похоже, ненависть к нему обоснована, хотя бы отчасти. Во фреймворке обнаружилась уязвимость, которая затрагивает ряд популярнейших коммуникационных приложений, в том числе Skype, в корпоративной среде Slack и защищенный мессенджер Signal.

Дело в том, что Electron допускает удаленный запуск произвольного кода в среде Windows, если приложения регистрируются в Windows в качестве обработчиков того или иного протокола по умолчанию (например, myapp://); такие приложения будут уязвимы вне зависимости от того, как они регистрируются — в системном реестре Windows или в API app.setAsDefaultProtocolClient самого Electron. Причём это касается только клиентских приложений и только под Windows (хейтеры Microsoft уже готовы). В других ОС уязвимости нет.

Как отмечается, сам фреймворк позволяет использовать технологии (JavaScript, HTML и CSS) для создания десктопных приложений. А значит в случае взлома можно выполнить код на клиентской машине.

При этом разработчики Slack уже заявили, что в версии 3.0.3 и выше уязвимость отсутствует. То же заявили в Microsoft. А разработчики Electron во вторник, 23 января, обновили версию программного обеспечения, закрыв брешь.

Уязвимости в популярных фреймворках — это всегда гораздо большая проблема, чем аналогичные проблемы в пользовательском ПО, уже в силу масштабов охвата. В случае с Electron проблему удалось решить довольно быстро, хотя в конечном счете все зависит от того, как быстро пройдет обновление до актуальных версий

Роман Гинятуллин, эксперт по информационной безопасности компании SEC Consult Services