Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain revoked or pending org membership
-
DeliveryAuthenticate to Vaultwarden API
-
ExploitRequest organization cipher/collection endpoints
-
ExecutionServer skips membership-status filter
-
ImpactRead, modify, or delete protected org secrets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must possess a Vaultwarden account that holds a non-confirmed relationship to a target organization - specifically a REVOKED membership (previously granted, then removed) or a PENDING/not-yet-confirmed invitation - because the leftover users_collections and groups_users rows are what the missing status filter fails to exclude. This is not unauthenticated (PR:L): the attacker needs credentials and a prior membership linkage to the org's collections or full-access groups. Limiting factors: it only affects organizations that use collection- or group-based cipher sharing, and only users who were at some point invited to or members of that org; a wholly external user with no org relationship cannot exploit it. Fixed by upgrading past 1.37.3 (PR #7554). |
| Impact | This is a genuine, credible authorization-bypass (CWE-863) with a coherent signal set rather than an inflated high-CVSS artifact. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N, 8.6) is internally consistent with the description: network-reachable, low complexity, requires low privilege (the attacker must already hold a - revoked or pending - account/membership relationship), no user interaction, and high confidentiality and integrity impact (read, write, delete, attachment access) with no availability impact. The source-code diff in PR #7554 corroborates the mechanism precisely: three queries (get_user_collections_access_flags, get_group_collections_access_flags, is_in_full_access_group) failed to filter on MembershipStatus::Confirmed, and the fix adds that filter/join - so root cause is confirmed, not inferred. No EPSS score, no CISA KEV entry, and no public exploit are present in the input, so this is 'no public exploit identified at time of analysis' rather than active exploitation. The absence of KEV/EPSS should not be read as low risk here: exploitation is conceptually trivial for anyone who was ever invited to or removed from an org, and the fix diff effectively documents the vulnerable code paths, lowering the bar to weaponization. Priority is driven by impact and ease, not by observed exploitation. |
| Exploit ScenarioDerived | An employee who was removed (revoked) from a Vaultwarden organization, or a user who was invited but has not yet confirmed membership, continues sending normal API requests for organization ciphers. Because the server never checks membership status in the affected queries, it returns and accepts read/write/delete/attachment operations on protected org secrets the attacker should no longer (or not yet) be able to reach. No public PoC is provided, but the patch diff clearly identifies the three vulnerable queries. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Vaultwarden through 1.37.3 permits authenticated users who hold a revoked or not-yet-confirmed organization membership to retain read, write, delete, and attachment access to organization ciphers, because three cipher access-restriction queries omit a membership status filter. Exploitation requires a Vaultwarden account with a prior (revoked) or pending membership linkage to the target organization and only affects deployments that use collection- or group-based cipher sharing, so a wholly external user with no org relationship cannot exploit it; no public exploit code was identified at time of analysis, and the issue is fixed upstream via PR #7554 (upgrade past 1.37.3).
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply https://github.com/dani-garcia/vaultwarden/pull/7554, which adds a users_organizations.status = Confirmed inner join/filter to all three queries, and upgrade past 1.37.3 once the corresponding tagged release is published. If upgrading must wait, the most reliable compensating control is to fully delete revoked or pending organization memberships and purge orphaned rows from users_collections and groups_users so no stale grants remain (side effect: destroys membership audit history, requires database access, and re-inviting the member later recreates grants). Alternatively, disable group/collection-based cipher sharing in favor of direct user-to-collection assignment where stale rows cannot be reliably purged (side effect: removes group-based access management convenience). Finally, audit organizations that use collection or group sharing for any account whose MembershipStatus is not Confirmed and treat those accounts as potentially compromised, since the underlying flaw is the persistence of relational data past the membership's valid lifetime.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Vaultwarden is a Rust-based, Bitwarden-compatible password manager server that uses the Diesel ORM over SQLite, PostgreSQL, or MySQL. Organization cipher authorization is derived from relationship rows in users_collections (per-user collection grants) and groups_users (group membership), and those rows are intentionally kept when an organization membership is revoked or before it is confirmed. Three helper queries - get_user_collections_access_flags and get_group_collections_access_flags in src/db/models/cipher.rs, and is_in_full_access_group in src/db/models/group.rs - failed to join against users_organizations with status = Confirmed, so stale relationship rows continued to authorize collection and full-access-group privileges even though the membership itself was no longer valid. This maps to CWE-863 (Incorrect Authorization): the authorization decision is based on leftover relationship records rather than the current membership state. The upstream PR adds an inner join or filter on users_organizations.status = MembershipStatus::Confirmed to all three queries, closing the gap for both collection-scoped and group-scoped access paths.
Know when Vaultwarden gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Network API access with low complexity; PR:L because the attacker needs an account with a prior/pending org-membership linkage; high confidentiality and integrity (read/write/delete of org ciphers), no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Vaultwarden through 1.37.3 omits organization membership status validation from three cipher access-restriction queries, allowing revoked and not-yet-confirmed members to retain read, write, delete, and attachment access to organization ciphers. Attackers with revoked or pending membership can exploit missing status filters in get_user_collections_access_flags, get_group_collections_access_flags, and is_in_full_access_group to access protected cipher data server-side.
Executive ViewAI
A flaw in Vaultwarden, the self-hosted password and secrets manager used by many organizations, allows former or unconfirmed members of a shared organization to keep full access to that organization's stored credentials and file attachments after their membership should have ended. Because Vaultwarden is where teams keep privileged passwords, API keys, and other high-value secrets, this access-control gap can expose sensitive material to people the business believes have already been offboarded, undermining credential rotation and deprovisioning controls. Any team running an affected self-hosted instance with collection- or group-based sharing should treat its organization vault contents as potentially over-exposed and prioritize remediation.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Vaultwarden
View allTwo-factor authentication bypass in Vaultwarden 1.34.3 and earlier allows authenticated attackers to circumvent 2FA prot
Cross-organization authorization bypass in Vaultwarden (the Rust-based, self-hosted Bitwarden-compatible server) prior t
Vaultwarden versions prior to 1.35.4 fail to properly enforce collection management permissions, allowing authenticated
Vaultwarden versions before 1.35.4 contain a privilege escalation vulnerability that allows authenticated Manager-level
Session hijacking via a broken SSO/OAuth authorization flow affects Vaultwarden (the Rust-based Bitwarden-compatible ser
Improper authorization in Vaultwarden (self-hosted Bitwarden-compatible server) before 1.35.5 lets an authenticated user
Authentication bypass (account takeover) in Vaultwarden before 1.36.0 allows an attacker who controls a federated identi
vaultwarden is an unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs. Rated high sev
Brute-force protection bypass in Vaultwarden (the Rust Bitwarden-compatible server) before 1.35.4 lets unauthenticated r
Vaultwarden's SSO discovery endpoint exposed real organization SSO metadata - including organizationIdentifier values -
Insufficient session expiration in Vaultwarden prior to 1.35.5 allows an attacker holding a previously obtained refresh
Vaultwarden versions prior to 1.35.3 allow authenticated organization members to bypass collection-level access controls
EUVD-2026-84861
GHSA-hm7r-36jx-j25q
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB