Вчера были раскрыты критические проблемы безопасности, затрагивающие несколько клиентов и библиотек Matrix, включая Element (Web/Desktop/Android), FluffyChat , Nheko , Cinny и SchildiChat . Уязвимость клиента Element под iOS — не затрагивает.
При определенных обстоятельствах (в теории) можно обманом заставить уязвимых клиентов раскрыть ключи шифрования для сообщений, ранее отправленных этим клиентом учетным записям пользователей, которые впоследствии были скомпрометированы злоумышленником.
Использование этой уязвимости для чтения зашифрованных сообщений требует получения контроля над учетной записью получателя. Для этого необходимо либо напрямую скомпрометировать их учетные данные, либо скомпрометировать их персональный сервер.
Таким образом, наибольший риск представляют пользователи, находящиеся в зашифрованных комнатах, на вредоносных, личных серверах. Администраторы вредоносных серверов могут попытаться выдать себя за устройства своих пользователей, чтобы шпионить за сообщениями, отправляемыми уязвимыми клиентами в этой комнате.
Это не уязвимость ни в протоколах Matrix/Olm/Megolm, ни в реализации libolm. Это ошибка реализации в некоторых клиентах Matrix и SDK, которые поддерживают сквозное шифрование («E2EE»).
"У нас нет доказательств того, что уязвимость эксплуатировалась в реальности". Представитель Element.
Эта проблема была обнаружена во время внутреннего аудита исследователем безопасности компании Element.
Исправление и обнаружение
Доступны исправленные версии уязвимых клиентов. Рекомендация обновиться, как можно скорее.
Учитывая серьезность этой проблемы, Element попытался проверить все известные клиенты и библиотеки Matrix с возможностью шифрования, чтобы можно было подготовить исправления до публичного раскрытия информации.
Уязвимые клиенты
-
matrix-js-sdk < 12.4.1 (CVE-2021-40823), including:
Element Web / Desktop < 1.8.3
SchildiChat (Web / Desktop) ≤ 1.7.32-sc1
Cinny < 1.2.1
-
matrix-android-sdk2 < 1.2.2
Element (Android) < 1.2.2
SchildiChat (Android) < 1.2.2.sc43
-
matrix-rust-sdk < 0.4.0:
-
FamedlySDK < 0.5.0, including:
Famedly < 0.45.0
FluffyChat < 0.40.0
Nheko ≤ 0.8.2
В конечном итоге Element-у потребовалось две недели от первоначального обнаружения до завершения аудита всех известных общедоступных реализаций E2EE. На согласование и добро ушла еще неделя, кульминацией которой стало публичное раскрытие информации о проблемах.
Element, ранее Riot — кроссплатформенный security мессенджер с открытым исходным кодом, не требующий мобильный номер для регистрации в системе и ориентированный на приватность пользователей.