Що сталося
У 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.