Signal Desktop хранит ключ шифрования сообщений в открытом виде

Signal Desktop хранит ключ шифрования сообщений в открытом виде

Signal Desktop хранит ключ шифрования сообщений в открытом виде

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

После установки Signal Desktop он создает зашифрованную базу данных SQLite, которая называется db.sqlite, она используется для хранения пользовательских сообщений. Ключ шифрования для этой БД генерируется программой автоматически, без какого-либо участия пользователя.

Вот пример зашифрованной БД, открытой в программе Блокнот:

Ключ шифрования требуется для каждой попытки Signal Desktop открыть базу данных, он хранится в виде открытого текста в локальном файле по адресу %AppData%\Signal\config.json (в macOS — ~/Library/Application Support/Signal/config.json).

При открыти файла config.json, его содержимое доступно любому желающему:

По словам эксперта Натаниэля Сачи, который обнаружил проблему, любой атакующий или вредонос может воспользоваться ключом, который хранится в открытом виде.

На данный момент разработчики Signal никак не прокомментировали проблему.

В Vim нашли опасную уязвимость: для атаки достаточно просто открыть файл

В текстовом редакторе Vim, которым пользуются миллионы разработчиков и системных администраторов по всему миру, обнаружили опасную уязвимость. Причём речь не об абстрактной опасности, поскольку специально подготовленный файл может запустить произвольные команды в системе сразу после открытия.

Проблема получила оценку 8,2 балла по шкале CVSS, так что история вполне серьёзная.

И особенно неприятно здесь то, насколько легко срабатывает атака: жертве не нужно нажимать на какие-то дополнительные кнопки или подтверждать действия. Достаточно просто открыть вредоносный файл в Vim.

Уязвимость связана с цепочкой из двух ошибок. Первая касается функции modeline, которая позволяет задавать определённые параметры прямо внутри открываемого файла.

В теории это должно быть удобно, но на практике именно здесь и возникла брешь: один из параметров, tabpanel, оказался недостаточно защищён и позволял внедрить выражение, которое не должно было выполняться в таком сценарии.

Дальше включается вторая часть проблемы. Vim распознаёт, что выражение небезопасно, и пытается выполнить его в ограниченной среде — так называемой песочнице. Но тут срабатывает ещё одна ошибка: функция autocmd_add() не выполняет нужную проверку безопасности.

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

Именно из-за этой связки багов злоумышленник получает возможность выполнить в системе произвольную ОС-команду с правами того пользователя, который запустил Vim.

Под удар попадают стандартные сборки Vim с поддержкой tabpanel. Как отмечается, это характерно для сборок типа HUGE, а они используются довольно широко. Дополнительный риск создаёт и то, что modeline во многих окружениях включён по умолчанию.

Разработчики Vim уже выпустили срочный патч. Безопасной считается версия 9.2.0272 и новее. Тем, кто пока не может обновиться сразу, советуют хотя бы временно отключить modeline, добавив в .vimrc строку set nomodeline.

RSS: Новости на портале Anti-Malware.ru