Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft SSO authorize request with attacker PKCE/state
-
DeliveryLure victim to complete IdP login
-
ExploitUnbound state accepted at /connect/authorize
-
ExecutionRedeem code for victim tokens
-
ImpactObtain fully authenticated vault session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target Vaultwarden instance has the SSO/OIDC login integration enabled and configured against an identity provider - this is an opt-in, non-default feature and the primary limiting factor. The attacker must also induce a victim to complete IdP authentication (UI:R in the CVSS vector), so successful attacks depend on social engineering or on a legitimate user being tricked into finishing a login the attacker started. The specific technical preconditions are the pre-1.36.0 behaviors named in the description: /connect/authorize accepting an OAuth state not bound to the initiating browser session, acceptance of attacker-controlled PKCE parameters, and SsoAuth records left intact after a failed token exchange. The attacker themselves needs no prior authentication (PR:N) and only network reachability to the server's authorization endpoint. |
| Impact | The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H, score 8.3) describes a network-reachable, low-complexity, unauthenticated attack that requires user interaction - consistent with a CSRF/OAuth-binding weakness where the victim must be lured into completing an IdP login. Impact is high to integrity and availability (full account/vault takeover) with lower confidentiality sub-impact as scored. No EPSS score, no CISA KEV entry, and no public POC were provided, so the real-world exploitation signal is currently low despite the high base score; this is a genuinely serious auth-bypass class but one gated by social engineering (UI:R) and by the target actually having SSO/OIDC enabled - a non-default, opt-in Vaultwarden feature. The key caveat is that Vaultwarden SSO is not enabled by default, so the exposed population is a subset of deployments; treat as high priority for any org that has turned on SSO login and lower priority otherwise. No SSVC decision data was supplied. |
| Exploit ScenarioDerived | An attacker initiates an SSO authorization request against a victim's Vaultwarden server using attacker-chosen PKCE parameters and an unbound state value, then lures the victim (e.g., via a crafted link) into completing authentication at the identity provider. Because the state is not tied to the victim's browser session and the SsoAuth record persists, the attacker redeems the resulting authorization code/tokens to obtain a fully authenticated session as the victim. No public POC was provided at time of analysis, and the attack depends on the low-complexity but user-interaction-dependent CSRF pattern reflected in the CVSS vector. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 15, 2026
Session hijacking via a broken SSO/OAuth authorization flow affects Vaultwarden (the Rust-based Bitwarden-compatible server) prior to 1.36.0, where the /connect/authorize endpoint fails to bind the OAuth state parameter to the initiating browser session, accepts attacker-controlled PKCE parameters, and leaves SsoAuth records intact after a failed token exchange. By tricking a victim into completing IdP authentication (UI:R), an unauthenticated attacker can redeem the resulting tokens for a fully authenticated session and take over the victim's vault. Rated CVSS 8.3 (CWE-352) with no public exploit identified at time of analysis and no CISA KEV listing.
RemediationAI
Vendor-released patch: upgrade to Vaultwarden 1.36.0 or later, which binds the SSO flow to the initiating browser via a VW_SSO_BINDING cookie and a new sso_auth.binding_hash column and applies the required database migration automatically on startup - see the advisory at https://github.com/dani-garcia/vaultwarden/security/advisories/GHSA-pfp2-jhgq-6hg5, the fix in https://github.com/dani-garcia/vaultwarden/pull/7163 (commit d297e274a35dccd0f5d935e9d5934e0f7e9c0a87), and the release notes at https://github.com/dani-garcia/vaultwarden/releases/tag/1.36.0. If you cannot upgrade immediately, the most effective compensating control is to disable the SSO/OIDC login integration and fall back to master-password/local authentication, which fully removes the vulnerable code path at the cost of losing single sign-on; alternatively, restrict network exposure of the server and the /connect/authorize endpoint to trusted users behind a reverse proxy or VPN to shrink the pool of attackers who can initiate a forged flow. After upgrading, consider invalidating existing sessions and reviewing SSO login events, since stale SsoAuth records were previously not cleaned up.
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 lightweight, self-hosted, Bitwarden-compatible password manager server written in Rust (CPE cpe:2.3:a:dani-garcia:vaultwarden). The flaw lives in its optional SSO/OpenID Connect login path (src/api/identity.rs, the _sso_login / oidcsignin handlers) which implements the OAuth 2.0 authorization-code flow with PKCE. The root cause is CWE-352 (Cross-Site Request Forgery): the OAuth 'state' value returned to /connect/authorize was never cryptographically bound to the browser session that started the flow, PKCE code-challenge/verifier parameters could be supplied by the attacker rather than generated per-session, and stale SsoAuth database rows survived failed token exchanges - collectively defeating the anti-CSRF and code-injection protections that OAuth state and PKCE are meant to provide. The fix (PR #7163, commit d297e274) adds a binding_hash column to the sso_auth table across the MySQL/PostgreSQL/SQLite migrations and a VW_SSO_BINDING (SameSite) cookie to tie the authorization flow to the originating browser, plus stricter SSO email-verification checks.
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
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H
Network CSRF against the SSO flow needs no attacker auth (PR:N) but the victim must complete IdP login (UI:R); full session takeover yields high confidentiality, integrity and availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Vaultwarden is a Bitwarden-compatible server written in Rust. Prior to 1.36.0, Vaultwarden's SSO authorization flow did not bind the OAuth state parameter accepted by /connect/authorize to the initiating browser session, allowed attacker-controlled PKCE parameters, and left SsoAuth records intact after failed token exchange, allowing an unauthenticated attacker to induce IdP authentication and redeem tokens for a fully authenticated session. This issue is fixed in version 1.36.0.
Executive ViewAI
Vaultwarden password vault servers are vulnerable to account hijacking through a broken OAuth single sign-on implementation, allowing attackers to gain unauthorized access to user vaults containing sensitive credentials and secrets. Organizations using Vaultwarden for centralized credential management face elevated risk of widespread account compromise and downstream security incidents affecting all systems protected by those compromised credentials.
No vendor-released patch identified at time of analysis. Interim mitigations: temporarily disable OAuth/SSO features and enforce password-based authentication; require multi-factor authentication for all vault access; implement IP address allowlisting for OAuth callbacks; reduce session idle timeout to 60 minutes; enforce re-authentication for sensitive vault operations; enable comprehensive audit logging of authentication events to detect exploitation attempts; monitor for anomalous login patterns and impossible travel scenarios.
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
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
More in Vaultwarden
View allTwo-factor authentication bypass in Vaultwarden 1.34.3 and earlier allows authenticated attackers to circumvent 2FA prot
Vaultwarden before 1.35.4 exposes a password-validity oracle at /api/two-factor/send-email-login when server-side email
Cross-organization authorization bypass in Vaultwarden (the Rust-based, self-hosted Bitwarden-compatible server) prior t
Vaultwarden through 1.37.3 permits authenticated users who hold a revoked or not-yet-confirmed organization membership 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
Improper authorization in Vaultwarden (self-hosted Bitwarden-compatible server) before 1.35.5 lets an authenticated user
Session persistence in Vaultwarden 1.35.4 and earlier lets a stolen refresh token outlive the account-hardening steps a
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
Vaultwarden's SSO discovery endpoint exposed real organization SSO metadata - including organizationIdentifier values -
Vaultwarden versions prior to 1.35.3 allow authenticated organization members to bypass collection-level access controls
EUVD-2026-44693
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB