Severity by source
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Prior refresh token possession required narrows exploitability (AC:H, PR:L); full vault read/write access warrants C:H/I:H; no availability impact applies.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
3DescriptionGitHub Advisory
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.
AnalysisAI
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.
Technical ContextAI
Vaultwarden (CPE: cpe:2.3:a:dani-garcia:vaultwarden) is a self-hosted, Bitwarden-compatible password vault server written in Rust. Its authentication model issues OAuth-style refresh tokens that are used to obtain short-lived access tokens for API sessions. The server maintains a per-user security_stamp value that is intended to act as a session-invalidation signal: rotating this stamp should force all existing tokens to be rejected. The root cause maps to CWE-613 (Insufficient Session Expiration) - the token validation logic does not compare the refresh token's embedded or associated security_stamp against the current server-side value, so previously issued tokens remain accepted regardless of stamp rotation. This architectural gap means that none of the seven listed security-sensitive account operations actually terminate active attacker sessions.
RemediationAI
Upgrade Vaultwarden to version 1.35.5 or later, which resolves the vulnerability by properly invalidating refresh tokens when the security_stamp is rotated. The authoritative vendor advisory is at https://github.com/dani-garcia/vaultwarden/security/advisories/GHSA-6j4w-g4jh-xjfx. If an immediate upgrade is not feasible, a partial compensating control is to restart the Vaultwarden service process, which clears in-memory session state and forces re-authentication for active sessions - though this does not address tokens that have already been exported and stored by an attacker. Administrators who suspect active compromise should additionally revoke all active sessions via the admin panel if supported, and advise affected users to rotate their master passwords post-upgrade to ensure the new security_stamp invalidation logic takes effect. There is no configuration-level toggle to fix the invalidation logic without patching.
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 -
Vaultwarden versions prior to 1.35.3 allow authenticated organization members to bypass collection-level access controls
Server-side request forgery (SSRF) in Vaultwarden's icon fetching endpoint allows blind internal network and port discov
Same weakness CWE-613 – Insufficient Session Expiration
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-29339