Написать пост

Найденная уязвимость в Electron затрагивает Skype, Discord и другие популярные приложения

Аватар Юлия Каракай

Список уязвимых приложений включает в себя инструменты для разработчиков VS Code, Atom, мессенджеры Slack, Discord и Signal. Команда GitHub создала механизм для предотвращения атак на приложения с использованием бага Electron.

Исследователи в области информационной безопасности обнаружили уязвимость во фреймворке 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К показов