Skip to main content

Vaultwarden CVE-2026-47158

| EUVDEUVD-2026-44693 HIGH
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-07-15 GitHub_M
8.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft SSO authorize request with attacker PKCE/state
  2. Delivery
    Lure victim to complete IdP login
  3. Exploit
    Unbound state accepted at /connect/authorize
  4. Execution
    Redeem code for victim tokens
  5. Impact
    Obtain 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

vaultwarden < 1.36.0

Affected Packages

euvd vaultwarden fix: 1.36.0

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

Vendor (GitHub_M) PRIMARY 8.3 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H
vuln.today AI 8.8 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Jul 15, 2026 - 17:48 EUVD
CVE Published
Jul 15, 2026 - 15:01 cve.org
HIGH 8.3

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Medium
popular self-hosted password manager, but SSO feature is opt-in subset
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

CVE-2026-27801 MEDIUM POC
5.9 Mar 04

Two-factor authentication bypass in Vaultwarden 1.34.3 and earlier allows authenticated attackers to circumvent 2FA prot

CVE-2026-43914 CRITICAL
9.8 May 11

Vaultwarden before 1.35.4 exposes a password-validity oracle at /api/two-factor/send-email-login when server-side email

CVE-2026-43912 HIGH
8.7 May 11

Cross-organization authorization bypass in Vaultwarden (the Rust-based, self-hosted Bitwarden-compatible server) prior t

CVE-2026-95814 HIGH
8.6 Sep 22

Vaultwarden through 1.37.3 permits authenticated users who hold a revoked or not-yet-confirmed organization membership t

CVE-2026-27803 HIGH
8.3 Mar 04

Vaultwarden versions prior to 1.35.4 fail to properly enforce collection management permissions, allowing authenticated

CVE-2026-27802 HIGH
8.3 Mar 04

Vaultwarden versions before 1.35.4 contain a privilege escalation vulnerability that allows authenticated Manager-level

CVE-2026-43913 HIGH
8.1 May 11

Improper authorization in Vaultwarden (self-hosted Bitwarden-compatible server) before 1.35.5 lets an authenticated user

CVE-2026-43911 HIGH
8.1 May 11

Session persistence in Vaultwarden 1.35.4 and earlier lets a stolen refresh token outlive the account-hardening steps a

CVE-2026-47164 HIGH
7.7 Jul 15

Authentication bypass (account takeover) in Vaultwarden before 1.36.0 allows an attacker who controls a federated identi

CVE-2024-56335 HIGH
7.5 Dec 20

vaultwarden is an unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs. Rated high sev

CVE-2026-47159 MEDIUM
6.9 Jul 15

Vaultwarden's SSO discovery endpoint exposed real organization SSO metadata - including organizationIdentifier values -

CVE-2026-26012 MEDIUM
6.5 Feb 11

Vaultwarden versions prior to 1.35.3 allow authenticated organization members to bypass collection-level access controls

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy