Уязвимости в Signal Desktop и в платформе Electron

В Signal Desktop, построенной на базе платформы Electron версии мессенджера Signal для настольных систем, выявлены две уязвимости (CVE-2018-10994, CVE-2018-11101), позволяющие выполнить произвольный JavaScript-код в контексте JavaScript-движка приложения через отправку специально оформленного сообщения. Проблемы устранены в выпуске Signal Desktop 1.11.0, мобильные приложения проблемам не подвержены.

Первая уязвимость позволяет передать в сообщении специально оформленную ссылку, показ принятого сообщения с которой приведёт к выполнению JavaScript-кода без каких-либо действий со стороны пользователя. Например, отправка ссылки «http://hacktheplanet/?p=%3Ciframe%20src=»/etc/passwd»%3E%3C/iframe%3E%20PWONED» приведёт к открытию файла /etc/passwd в iframe. Разработчики Signal опубликовали обновление с устранением проблем спустя всего 2 часа после уведомления о наличии уязвимостей.

Скоро выяснилось, что существует ещё один метод проведения атаки XSS, реализуемый через подстановку в сообщения HTML-тегов iframe, ссылающегося на внешний ресурс. Выполнение HTML-кода производится не при приёме и открытии, а при попытке ответа на такие сообщения. В итоге был подготовлен прототип эксплоита на JavaScript, который отправляет на внешний сервер содержимое всех переписок, которые производятся в приложении. Второй метод атаки из-за ограничений CSP допускает только включение локальных файлов, для обхода CSP в ходе демонстрационной атаки начальный кода скрипта был замещён на SMB-разделе.

Дополнительно можно отметить уязвимость CVE-2018-1000136, затрагивающую непосредственно платформу
Electron, которая позволяет обойти ограничение доступа к API Node.js (nodeIntegration: false), что может применяться для организации выполнения кода в контексте операционной системы, если у злоумышленника имеется возможность выполнить JavaScript в контексте приложения.

Суть уязвимости в том, что если разработчик приложения явно не указал в параметрах конфигурации файла webPreferences «webviewTag: false», при выполнении JavaScript можно воспользоваться доступным API Electron для создания окна с новым компонентом WebView, настройки которого уже контролируются атакующим и для этого окна можно выставить режим «nodeIngration: true». Проблема устранена до раскрытии информации об уязвимости в мартовском обновлении платформы Electron.

Так же можно упомянуть о выявлении вредоносного ПО, нацеленного на проведение атаки на десктоп-приложение Telegram на платформе Windows.
Вредоносное ПО собирает остаточные данные из кэша приложения, который может включать информацию о сеансах, контактах и предыдущих чатах. Также вредоносное ПО осуществляет поиск и передачу map-файлов, в которых хранятся ключи шифрования (защищены паролем и зашифрованы AES, вероятно для получения пароля может применяться отдельное вредоносное ПО с кейлоггером). Вредоносное ПО атакует только десктоп-редакцию Telegram, так как она не поддерживает секретные чаты и включает небезопасные настройки по умолчанию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.