Skip to main content

Vaultwarden CVE-2026-43911

| EUVDEUVD-2026-29339 HIGH
Insufficient Session Expiration (CWE-613)
2026-05-11 GitHub_M
8.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Obtain victim refresh token via theft/malware
  2. Delivery
    Victim rotates security_stamp (password/key/email change)
  3. Exploit
    Submit refresh_token grant to /identity/connect/token
  4. Execution
    Receive new valid access token
  5. Impact
    Read and modify vault entries

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
Exploitation Conditions

Exploitation requires the attacker to already hold a valid refresh token issued before the security_stamp rotation - obtained out-of-band via device theft, malware, or session hijacking; the flaw cannot be triggered without this pre-existing token. It affects Vaultwarden <= 1.35.4. The defining condition is that the security-sensitive operations which rotate the stamp (password change, KDF change, key rotation, email change, org admin password reset, and emergency access takeover) do NOT delete Device records or rotate the device refresh_token, so stolen refresh tokens survive them. Emergency access takeover is the most dangerous case because it sends no logout notification. Limiting factors: only 'Deauthorize Sessions' (which deletes devices) or an admin action (post_sstamp, deauth_user, disable_user, all of which call Device::delete_all_by_user) actually invalidates the refresh token, so a victim who takes those specific steps is protected.

Impact

Signals are mixed and point to a real but non-urgent fix rather than an emergency. The CVSS 3.1 base score is 8.1 (High) with AV:N/AC:L/PR:L/UI:N and C:H/I:H/A:N, reflecting network reachability and total loss of vault confidentiality and integrity once the flaw is triggered. However, exploitation is gated on the attacker already possessing a valid refresh token, which the SSVC framework captures as Exploitation: poc, Automatable: no, Technical Impact: total - i.e., severe impact but no scalable, self-propagating exploitation path. This aligns with the very low EPSS score of 0.03% (8th percentile), indicating no expectation of widespread opportunistic exploitation. The vulnerability is NOT in CISA KEV, so there is no confirmed active exploitation; the low EPSS combined with the precondition of prior token theft is consistent with a targeted, post-compromise persistence problem rather than mass exploitation. The vuln.today decision label is 'this_week', so this should be remediated promptly but is not flagged as act_now/emergency. Net assessment: a genuine, high-impact session-management weakness worth patching on a near-term schedule, not a high-CVSS-but-trivial issue, yet also not a drop-everything event given the required precondition and absent KEV/high-EPSS signals.

Exploit ScenarioDerived

An attacker who has already obtained a user's refresh token (via device theft, malware, or session hijacking) retains it while the victim, suspecting compromise, changes their master password, rotates keys, or changes email - actions that rotate the security_stamp and are expected to end all sessions. Because the refresh flow never checks the security stamp, the attacker submits the old refresh token to /identity/connect/token and receives a fresh, fully valid access token, regaining read/write access to the vault. A detailed step-by-step PoC (curl commands tested on v1.35.4) is published in the GitHub Security Advisory, though it is not independently verified here as a weaponized exploit.

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

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

Alert me

AnalysisAIv3 – Oct 26, 2026

Session persistence in Vaultwarden 1.35.4 and earlier lets a stolen refresh token outlive the account-hardening steps a victim takes: password change, KDF change, key rotation, email change, org-admin password reset and emergency-access takeover all rotate the security_stamp but leave Device records and their refresh tokens intact. Because the refresh endpoint never compares the stamp, an attacker already holding that token can mint new access tokens and continue reading or modifying vault entries. The advisory ships a full curl-based reproduction (SSVC exploitation: poc) but there is no CISA KEV listing and EPSS is only 0.03% (8th percentile), so this is a real but non-urgent fix scheduled as 'this_week'; exploitation requires authenticated, prior possession of the refresh token (CVSS PR:L).

Earlier versions of this analysis (2)
v2 Oct 26, 2026 - 18:42 cvss changed CVSS 8.1

Vaultwarden 1.35.4 and earlier leaves previously issued refresh tokens valid after the user's security_stamp is rotated by password change, KDF change, key rotation, email change, organization-admin password reset, or emergency access takeover, so anyone holding an old refresh token can keep minting new access tokens and retain full read/write access to the vault. Access tokens are correctly rejected once the stamp changes, but the refresh flow never compares the stamp, so the session survives the very action the user took to secure the account. The attacker must already possess a valid refresh token (CVSS PR:L), making this a post-compromise persistence weakness rather than an entry point; EPSS is 0.03% (8th percentile) and the advisory publishes proof-of-concept reproduction steps, while CISA SSVC rates technical impact as total with exploitation at poc level. A vendor patch is available in 1.35.5.

v1 Jul 23, 2026 - 23:28 CVSS 6.8

Insufficient session expiration in Vaultwarden prior to 1.35.5 allows an attacker holding a previously obtained refresh token to maintain persistent vault access even after the legitimate account owner performs security-remediation actions. Operations that rotate the internal security_stamp - including password change, key rotation, KDF change, email change, org admin password reset, and emergency access takeover - fail to invalidate outstanding refresh tokens, leaving stolen sessions alive. A proof-of-concept exists per SSVC data, though EPSS at 0.03% (8th percentile) indicates exploitation remains uncommon and non-automated, consistent with the need for pre-existing token access.

RemediationAI

Vendor-released patch: upgrade to Vaultwarden 1.35.5, which the advisory states fixes the issue. Note the documented side effect of the fix design: adding an sstamp claim to the refresh token structurally changes the refresh JWT, so refresh tokens issued before the upgrade cannot be validated and existing users are effectively force-logged-out and must re-authenticate - plan the upgrade window accordingly rather than at peak use. Where upgrading must be deferred, the only invalidation paths the sources confirm are the 'Deauthorize Sessions' feature and the admin operations post_sstamp, deauth_user and disable_user, all of which call Device::delete_all_by_user and remove the Device records that make a stolen refresh token usable; the trade-off is that these terminate every active session for the account, and a victim who does none of them after a password, KDF, key or email change (or after an emergency-access takeover, which sends no logout notification at all) remains exposed. Because exploitation presupposes an attacker already holding a refresh token, incident response should focus on token exposure - hunt for anomalous /identity/connect/token refresh grants and re-authenticate affected accounts after patching.

Affected VersionsENISA

vaultwarden < 1.35.5

Affected Packages

euvd vaultwarden fix: 1.35.5

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 implementation of the Bitwarden server (CPE cpe:2.3:a:dani-garcia:vaultwarden, all versions before 1.35.5). Access-token validation is stamp-aware: Headers::from_request in src/auth.rs checks that the sstamp claim embedded in the JWT matches the user's current security_stamp in the database, so rotating the stamp correctly kills outstanding access tokens. The refresh path bypasses that control: refresh_tokens (src/auth.rs, ~line 1205) decodes the refresh JWT, looks up the Device by its device_token, reloads the user and issues fresh AuthTokens without ever inspecting the stamp, and the RefreshJwtClaims struct has no security_stamp field at all. This is CWE-613 (Insufficient Session Expiration) - a session-invalidation gap, not a memory-safety or injection flaw. Upstream Bitwarden avoids it by persisting the SecurityStamp claim into the grant and re-checking it in ProfileService.IsActiveAsync on every refresh. Six Vaultwarden operations (post_password, post_kdf, post_rotatekey, post_email in accounts.rs, put_reset_password in organizations.rs, password_emergency_access in emergency_access.rs) rotate the stamp without calling Device::delete_all_by_user, while post_sstamp, deauth_user and disable_user do delete devices and are therefore unaffected. The trigger requires an attacker to already hold a refresh token obtained out-of-band (device theft, malware, session hijacking); the flaw cannot be reached without that pre-existing token.

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

NVD PRIMARY 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 8.1 HIGH

Attacker must hold a previously issued refresh token (a low-privilege credential), so PR:L; remotely reachable token refresh endpoint, low complexity, full vault read/write but no availability loss.

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

Primary rating from NVD.

CVSS VectorNVD

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

Lifecycle Timeline

6
Analysis Updated
Oct 26, 2026 - 18:43 vuln.today
v3 - CVSS changed
Analysis Updated
Oct 26, 2026 - 18:42 vuln.today
v2 - CVSS changed
Severity Changed
Oct 26, 2026 - 18:23 NVD
MEDIUM HIGH
CVSS changed
Oct 26, 2026 - 18:23 NVD
6.8 (MEDIUM) 8.1 (HIGH)
Patch available
May 11, 2026 - 23:03 EUVD
CVE Published
May 11, 2026 - 21:54 nvd
MEDIUM 6.8

DescriptionNVD

Vaultwarden is a Bitwarden-compatible server written in Rust. Prior to 1.35.5, refresh tokens are not invalidated when the user's security_stamp is rotated by some security-sensitive operations (password change, KDF change, key rotation, email change, org admin password reset, emergency access takeover). This allows an attacker holding a previously obtained refresh token to maintain session access even after the user has taken action to secure their account. This vulnerability is fixed in 1.35.5.

Executive ViewAI

Why It Matters

Vaultwarden versions 1.35.4 and earlier contain a session persistence flaw that allows stolen refresh tokens to remain valid even after users perform critical security actions such as password changes or key rotations. This means a compromised token-if obtained by an attacker-could grant ongoing access to vault data despite remediation efforts. While no active exploitation has been observed, the risk to sensitive credential management warrants leadership attention.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Prevalence
Medium
popular self-hosted Bitwarden-compatible server, common in homelab/SMB not enterprise-ubiquitous
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.0%
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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-47158 HIGH
8.3 Jul 15

Session hijacking via a broken SSO/OAuth authorization flow affects Vaultwarden (the Rust-based Bitwarden-compatible ser

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