Что случилось
В Kryfo тебя узнают по трём словам и лицу. Они никогда не доказывали, кто есть кто, и их можно было скопировать. Кто-то мог вставить твои три слова в ссылку-приглашение, QR-код или страницу профиля, которые вели к его собственным ключам. Тот, кто это добавлял, видел чат, похожий на чат с тобой, но это был чат с кем-то другим. Если этот кто-то ещё и писал тебе от имени добавившего, он мог встать между вами и читать всё, что шло через него.
В 0.4.1 и более ранних версиях было хуже: скопированное имя могло ещё и занять место уже существующего чата. 0.4.2 исправила эту часть.
Нам неизвестно, чтобы это использовали против кого-либо.
Кого это касалось
Всех на 0.5.0 и более ранних версиях, кто добавлял кого-то по ссылке, имени пользователя, коду связи, запросу или QR-коду, отсканированному не с телефона самого этого человека.
Не затронуты:
- Контакты, добавленные сканированием QR-кода на их собственном телефоне при личной встрече.
- Код безопасности. Он строится из ключей, которые чат действительно использует, поэтому всегда показывал разницу.
Что мы изменили
В 0.5.1:
- Коды связи показывают на обоих телефонах номер ключа, построенный из ключа, который будет использовать чат.
- Чаты, добавленные любым способом, кроме сканирования при личной встрече, показывают карточку с просьбой сверить код безопасности.
- Если знакомство или группа называет кого-то, кто у тебя уже есть, но с другим ключом, Kryfo держит их отдельно.
- Страница кода безопасности просит сверить все 12 групп.
В 0.5.2 метку «Не проверено» заменили карточка для сверки и кнопка Это не тот человек. Если коды безопасности не совпадают, она удаляет этот контакт с твоего телефона и блокирует его ключ.
Что делать
- Обнови Kryfo до 0.5.2. Версия уже есть на kryfo.app и GitHub, а в F-Droid появится в ближайшие дни.
- Сверь код безопасности с важными контактами при личной встрече: открой их страницу, нажми Проверить ключи и проверь все 12 групп.
- Если коды не совпадают, нажми Это не тот человек. Потом добавь человека заново по ссылке или QR-коду, который он даст тебе лично, и сверь код в новом чате.
Что дальше
Полное исправление придёт с новой системой идентичности в 0.6, построенной на официальной библиотеке Signal. Но и тогда настоящей проверкой останется код безопасности.
Более раннее исправление
В 0.3.2 и 0.4.1 исправлено нажатие на уведомление, которое на разблокированном телефоне могло открыть чат в обход блокировки приложения.
Спасибо
Спасибо Ami (SleepingAmi) и sooox (sooox-cc): они нашли это, проверили на своих телефонах и сообщили нам без огласки.
Если найдёшь проблему, пожалуйста, сначала сообщи нам без огласки: kryfo.app/security.