Matrix.org 安全团队披露了两个影响 matrix-js-sdk 和 matrix-react-sdk 的高严重性漏洞,分别涉及与新邀请用户共享房间钥匙的 MSC3061 协议。这些漏洞分别被标识为 CVE-2024-47080 和 CVE-2024-47824,涉及加密房间中消息密钥的不当处理,这可能导致未经验证的设备和用户暴露密钥。
这些漏洞影响了 matrix-js-sdk 从 9.11.0 版本到 34.7.9 版本,以及 matrix-react-sdk 从 3.18.0 版本到 3.101.9 版本的问题。在 matrix-js-sdk 的版本 34.8.0 中已修复,而 matrix-react-sdk 则在早期版本 3.102.0 中已修补。根本原因在于遗留的(Rust 之前)加密实现,其中密钥共享机制允许将历史消息密钥转发给未经验证的用户,从而增加了暴露的风险。
为了解决这些问题,matrix-react-sdk 删除了有问题的函数调用,而 matrix-js-sdk 将完全删除易受攻击的功能。重要的是,在 Rust 加密模式下使用 matrix-js-sdk 的客户端(使用 initRustCrypto 调用而不是 initCrypto)不会受到这些漏洞的影响。建议用户将 SDK 更新到最新版本,以降低这些安全风险。