Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate Vaultwarden instance with email 2FA enabled
-
DeliveryFetch KDF params via /identity/accounts/prelogin
-
ExploitSubmit password-hash guesses to /api/two-factor/send-email-login
-
ExecutionRead oracle response bypassing rate limit
-
PersistRecover correct master password
-
ImpactAuthenticate and access victim vault
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Brute-force prevention, rate limiting
|
| Exploitation Conditions | The server-side email 2FA feature must be enabled on the Vaultwarden instance - this is the hard precondition. When it is enabled, /api/two-factor/send-email-login can be abused as a password oracle against ALL users on the instance, including those who have not configured email 2FA for their own account. If email 2FA is disabled the endpoint returns 'Email 2FA is disabled' and cannot be abused, so instances without email 2FA are not affected. No authentication is required to call the endpoint (PR:N). The practical limiting factor is password strength: guessing must defeat client-side PBKDF2-SHA256 hashing (600k iterations by default, retrievable per-user from /identity/accounts/prelogin), so weak or reused master passwords are the realistic exposure, and strong passwords remain resistant even without rate limiting. |
| Impact | The signals conflict sharply and must be weighed together. The published CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, C:H/I:H/A:H = 9.8) frames this as a trivially remote, unauthenticated, full-impact flaw, and the vuln.today Decision label is act_now. However, the mechanism is narrower than 9.8 implies: CWE-307 (improper restriction of excessive authentication attempts) means the bug does not directly disclose or alter data - it removes the brute-force rate limit and turns /api/two-factor/send-email-login into a username/password oracle. Actual compromise still requires guessing a master password that is hashed client-side with PBKDF2-SHA256 (600k iterations by default), so success depends on password strength. This is consistent with SSVC Technical Impact: partial rather than total. EPSS is very low (0.04%, 11th percentile) and the CVE is NOT in CISA KEV, indicating no evidence of widespread or active exploitation despite the high CVSS. The counterweight is that SSVC marks Automatable: yes and a working PoC is published, so opportunistic scanning of exposed instances is realistic. Net: treat as a genuine priority for any internet-exposed Vaultwarden instance with email 2FA enabled (per the act_now label and the attractiveness of a password-vault target), but recognize the 9.8 overstates immediacy - low EPSS and partial technical impact suggest this is a credential-cracking enabler gated by password strength, not a direct one-shot account takeover. |
| Exploit ScenarioDerived | An attacker who can reach a Vaultwarden server that has email 2FA enabled repeatedly POSTs candidate master-password hashes for a target email to /api/two-factor/send-email-login; the endpoint is not covered by check_limit_login, so it answers 'Username or password is incorrect' for wrong guesses and returns HTTP 200 / 'Two factor not found' for the correct one, leaking validity with no rate limiting. A public PoC Python script in the GHSA advisory automates this and works against every user on the instance - even users who never configured email 2FA themselves. Exploitation is network-based and unauthenticated (PR:N), but ultimate vault access still hinges on the victim's password being guessable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 26, 2026
Vaultwarden before 1.35.4 exposes a password-validity oracle at /api/two-factor/send-email-login when server-side email 2FA is enabled, allowing unauthenticated attackers to test master-password guesses without the normal login rate limit; successful guessing can compromise accounts with weak or reused master passwords. The flaw affects all users on an affected instance when email 2FA is enabled, including users who have not configured email 2FA for themselves. A public PoC script is referenced in the advisory, SSVC marks exploitation as poc and automatable, EPSS is low at 0.04% (11th percentile), and the vuln.today priority decision is act_now.
Earlier versions of this analysis (1)
Brute-force protection bypass in Vaultwarden (the Rust Bitwarden-compatible server) before 1.35.4 lets unauthenticated remote attackers guess passwords without rate-limiting when email 2FA is enabled on the instance. The /api/two-factor/send-email-login endpoint (send_email_login in email.rs) is not covered by login rate-limiting yet still validates the username/password pair, turning it into a credential-validity oracle. The flaw affects all accounts on an instance that has email 2FA enabled — even users who never configured email 2FA themselves. Publicly available exploit code exists (SSVC 'poc'); EPSS is very low at 0.04% and it is not in CISA KEV, so no confirmed active exploitation.
RemediationAI
Upgrade to Vaultwarden 1.35.4 or later, which contains the fix from PR 6867; vendor advisory: https://github.com/dani-garcia/vaultwarden/security/advisories/GHSA-c5rv-q295-7w4g, fix PR: https://github.com/dani-garcia/vaultwarden/pull/6867, release: https://github.com/dani-garcia/vaultwarden/releases/tag/1.35.4. If immediate upgrading is not possible, disable server-side email 2FA, which removes the oracle precondition because /api/two-factor/send-email-login then returns 'Email 2FA is disabled'; the trade-off is loss of email-based second-factor login for users who rely on it. Strong, unique master passwords reduce the practical success of guessing because each attempt must match the PBKDF2-SHA256 master password hash (600,000 iterations by default, retrievable per user from /identity/accounts/prelogin), but this does not replace the patch. The vuln.today priority decision is act_now, so remediation should be prioritized even though EPSS is low at 0.04% (11th percentile).
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 implementation of a Bitwarden-compatible server. The root cause is CWE-307, improper restriction of excessive authentication attempts: the check_limit_login rate limiter covers _sso_login, _password_login and _api_key_login, but the email 2FA helper send_email_login in email.rs (POST /api/two-factor/send-email-login) does not apply that limiter. The endpoint is intended to send an email login code, but its responses distinguish a valid username-password pair (HTTP 200 and an email code, or 'Two factor not found') from an invalid one ('Username or password is incorrect'), and it returns 'Email 2FA is disabled' when the server feature is off. This makes the endpoint an oracle for password guessing. The hard precondition is that server-side email 2FA is enabled; if it is disabled, the endpoint cannot be abused. The endpoint is unauthenticated per the assessed CVSS vector (PR:N). Guessing must still produce the client-side PBKDF2-SHA256 master password hash, using 600,000 iterations by default and per-user iteration counts available from /identity/accounts/prelogin, so weak or reused master passwords are the realistic exposure. The vendor fix is in PR 6867 and release 1.35.4; the advisory recommends applying check_limit_login to send_email_login. CPE: cpe:2.3:a:dani-garcia:vaultwarden:*:*:*:*:*:*:*:*; EUVD lists vaultwarden < 1.35.4.
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:N/S:U/C:H/I:H/A:H
Unauthenticated remote endpoint (PR:N/AV:N/AC:L); successful brute-force yields full vault read/write (C:H/I:H) but no direct availability impact (A:N); gated by server-side email-2FA config and password strength.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
5DescriptionNVD
Vaultwarden is a Bitwarden-compatible server written in Rust. Prior to 1.35.4, there is a security vulnerability in Vaultwarden that allows bypassing the login brute-force protection if email 2fa is enabled. If email 2fa is enabled, the unprotected 2fa-function send_email_login (email.rs, api endpoint /api/two-factor/send-email-login) also acts as an oracle determining whether a username-password combination is correct. An attacker can abuse that endpoint to brute-force passwords without rate-limiting. This works even for users who don't have email 2fa configured. This vulnerability is fixed in 1.35.4.
Executive ViewAI
CVE-2026-43914 is a critical vulnerability in Vaultwarden (before 1.35.4) that allows unauthenticated attackers to bypass login rate limits and test master-password guesses, potentially compromising accounts with weak or reused passwords. This affects all users on an instance where email-based two-factor authentication is enabled, even those who haven't set it up themselves, and undermines the core security of your password management system. Leadership should prioritize immediate patching to prevent credential theft and potential downstream breaches.
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 through 1.37.3 permits authenticated users who hold a revoked or not-yet-confirmed organization membership t
Session hijacking via a broken SSO/OAuth authorization flow affects Vaultwarden (the Rust-based Bitwarden-compatible ser
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-29342
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB