CVE-2026-43911Vaultwarden是用Rust编写的Bitwarden兼容服务器。在1.35.5版本之前,存在一个严重的安全缺陷:当用户执行密码修改、KDF更改、密钥轮换、邮箱变更、组织管理员密码重置或紧急访问接管等敏感安全操作时,系统会更新用户的security_stamp(安全标记),但未能正确使先前颁发的刷新令牌失效。这意味着,如果攻击者在用户执行上述操作前已经窃取了其刷新令牌,即便用户已经采取了加固账户的措施,攻击者仍可利用该令牌继续获取有效的访问凭证,从而维持对用户账户的非法访问权限。
该漏洞的核心逻辑在于Vaultwarden的令牌撤销机制不完善。在标准的OAuth2或Bitwarden协议实现中,刷新令牌通常与用户的特定状态(如security_stamp)绑定。当用户执行敏感操作(如修改密码)时,服务端会更新security_stamp,并在验证刷新令牌时检查其是否与当前的stamp匹配。如果不匹配,应当拒绝颁发新的访问令牌。然而,在受影响的Vaultwarden版本中,虽然数据库中的security_stamp已被轮换,但处理刷新令牌请求的端点未严格执行该校验,或者未主动将旧令牌加入黑名单。攻击者利用此漏洞的前提是必须先获得受害者的刷新令牌(可能通过XSS、中间人攻击或本地存储窃取等手段)。由于CVSS向量显示攻击复杂度为高(AC:H)且需要低权限(PR:L),这通常意味着攻击者需要具备一定的初始访问权限或社会工程学能力来获取令牌。一旦获取,由于漏洞的存在,用户试图通过修改密码来阻断攻击者的行为将失效,导致机密性(C:H)和完整性(I:H)受到严重影响。