Matrix 客户端中允许公开端到端加密密钥的漏洞

Matrix 去中心化通信平台的大多数客户端应用程序中均已发现漏洞(CVE-2021-40823、CVE-2021-40824),导致有关在端到端加密 (E2EE) 聊天中传输消息的密钥的信息被泄露。获得。 危害其中一位聊天用户的攻击者可以解密先前从易受攻击的客户端应用程序发送给该用户的消息。

成功操作需要访问消息收件人的帐户。 可以通过泄露帐户参数或通过黑客攻击用户连接的 Matrix 服务器来获取访问权限。 这些漏洞对攻击者控制的 Matrix 服务器所连接的加密聊天室的用户构成了最大的危险。 此类服务器的管理员可能会尝试冒充服务器用户,以拦截从易受攻击的客户端应用程序发送的聊天消息。

该漏洞是由在matrix-js-sdk < 12.4.1 (CVE-2021-40823)、matrix-android-sdk2 < 1.2.2 (CVE-2021-40824)中提出的密钥重放机制实现中的逻辑错误引起的,矩阵-rust-sdk < 0.4.0,FamedlySDK < 0.5.0 且 Nheko ≤ 0.8.2。 基于matrix-ios-sdk、matrix-nio和libolm库的实现不易受到漏洞的影响。

因此,所有借用有问题代码且不直接影响 Matrix 和 Olm/Megolm 协议的应用程序中都会出现漏洞。 该问题尤其影响 Web、桌面和 Android 的主要 Matrix 客户端 Element(以前称为 Riot),以及第三方客户端应用程序和库,包括 FluffyChat、Nheko、Cinny 和 SchildiChat。 该问题不会出现在iOS平台的官方客户端以及Chatty、Hydrogen、mautrix、purple-matrix和Siphon应用程序中。

这些漏洞是在 Element 客户端的安全审核期间发现的。 现已针对所有受影响的客户端发布修复程序。 建议用户立即安装更新,并在安装更新之前使客户端离线。 在补丁发布之前没有证据表明该漏洞被利用。 使用标准客户端和服务器日志不可能确定攻击的事实,但由于攻击需要帐户泄露,管理员可以使用服务器上的身份验证日志分析可疑登录的存在,并且用户可以评估链接的设备列表他们的帐户最近重新连接和状态更改信任。

密钥共享机制在实现过程中发现了漏洞,允许没有密钥来解密消息的客户端向发送者的设备或其其他设备请求密钥。 例如,这样的功能对于确保在新用户设备上解密旧消息或用户丢失现有密钥是必要的。 协议规范默认情况下不响应关键请求,并且仅将它们自动发送到同一用户的经过验证的设备。 不幸的是,在实际实现中,这一要求没有得到满足,并且在没有正确的设备识别的情况下处理发送密钥的请求。

来源: opennet.ru

添加评论