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 никак не прокомментировали проблему.