CVE-2026-42889Relay Server是为Obsidian提供实时协作功能的服务器组件。在0.9.0至0.9.6版本中,存在一处严重的认证绕过漏洞。该漏洞位于多文档WebSocket端点处,当系统配置了身份认证机制时,由于逻辑错误,未携带Token查询参数的WebSocket连接被错误地赋予了完全的服务器权限。未经身份验证的攻击者只需知道或猜测到文档ID,即可连接到文档同步WebSocket接口,在无需有效文档Token的情况下读取或修改文档内容。该漏洞在0.9.7版本中已被修复。
该漏洞源于Relay Server在处理WebSocket连接时的权限校验逻辑缺陷。在受影响版本中,尽管系统管理员可能已配置了认证机制,但在处理多文档同步的WebSocket端点时,程序未能正确验证连接请求中是否包含有效的Token查询参数。正常情况下,访问特定文档的同步通道应提供对应的文档Token以证明访问权限。然而,漏洞代码将缺少Token的连接默认为拥有高权限用户或系统内部连接。这导致了访问控制列表(ACL)的失效。攻击者无需进行复杂的解密或会话劫持,仅需通过网络嗅探或暴力猜测获取目标文档的ID(Document ID),即可构造恶意的WebSocket握手请求。一旦连接建立,攻击者即可利用该通道发送同步数据包,实现对服务器上文档内容的任意读取和篡改,严重破坏数据的机密性和完整性。