Найденная уязвимость в Electron затрагивает Skype, Discord и другие популярные приложения
Новости
Список уязвимых приложений включает в себя инструменты для разработчиков VS Code, Atom, мессенджеры Slack, Discord и Signal. Команда GitHub создала механизм для предотвращения атак на приложения с использованием бага Electron.
3К открытий3К показов
Исследователи в области информационной безопасности обнаружили уязвимость во фреймворке Electron. Проблема затрагивает такие приложения, как Skype и Visual Studio Code от Microsoft, среда разработки Atom, браузер Brave, а также официальные десктопные клиенты Signal, Twitch, Discord, Slack, Ghost, WordPress и многие другие. Уязвимость получила идентификатор CVE-2018-1000136.
Electron стал популярным фреймворком среди разработчиков за последние несколько лет, так как позволяет использовать Node.js для бэкенда и Chromium для фронтенда в нативных приложениях для настольных операционных систем.
Electron и Node.js
При разработке приложений на базе данного фреймворка программист может использовать только Electron API либо получить доступ к Node.js API и модулям. Node.js дает больше возможностей интеграции с ОС и позволяет воспользоваться дополнительными функциями системы.
Команда Electron создала механизм для предотвращения атак на приложения. У проектов, запускающих JavaScript и HTML на десктопе, переменная nodeIntegration
имеет значение false
по умолчанию. При этом WebView загружает скрипты, к которым не должно быть доступа при отключенной интеграции с Node.js.
Использование XSS для доступа к API Node.js
Все приложения, созданные на базе Electron, имеют конфигурационный файл webPreferences
. Если тег webviewTag
имеет значение false
или вообще отсутствует, то и nodeIntegration
будет иметь значение false
.
Согласно отчёту компании Trustwave, злоумышленник может воспользоваться опцией nodeIntegration
и изменить ее значение на true
, предоставив себе доступ к API Node.js. Исследователь Брендан Скарвелл (Brendan Scarvell) сообщил, что, если разработчики не включили в конфигурационный файл webviewTag: false
, хакер может воспользоваться межсайтовым скриптингом (XSS) для создания нового компонента webview
и установить nodeIntegration: true
. Также Скарвелл опубликовал соответствующий код, показывающий, что злоумышленник может воспользоваться любой XSS-уязвимостью и получить доступ к системе.
2018 год был богат на найденные уязвимости в используемых технологиях. Напомним, в феврале перед угрозой не устояли сервера Memcached, а в апреле свершилась массовая атака на коммутаторы Cisco.
3К открытий3К показов