Skip to main content

Vaultwarden CVE-2026-47159

| EUVDEUVD-2026-44694 MEDIUM
Improper Authentication (CWE-287)
2026-07-15 GitHub_M
6.9
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.5 MEDIUM

Network-accessible unauthenticated endpoint with low complexity; limited to low confidentiality and integrity impact with no scope change or availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/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
None
Scope
X

Lifecycle Timeline

3
Patch available
Jul 15, 2026 - 17:48 EUVD
Source Code Evidence Fetched
Jul 15, 2026 - 15:50 vuln.today
Analysis Generated
Jul 15, 2026 - 15:50 vuln.today

DescriptionCVE.org

Vaultwarden is a Bitwarden-compatible server written in Rust. Prior to 1.36.0, Vaultwarden's SSO discovery and pre-validation flow returned organization-related SSO metadata including organizationIdentifier values for arbitrary email addresses and allowed a valid pre-validation JWT to be obtained with only the discovered identifier, enabling SSO-enabled organization enumeration and authentication workflow abuse. This issue is fixed in version 1.36.0.

AnalysisAI

Vaultwarden's SSO discovery endpoint exposed real organization SSO metadata - including organizationIdentifier values - to unauthenticated requests for arbitrary email addresses, enabling organization enumeration and authentication workflow abuse. All Vaultwarden deployments prior to 1.36.0 with SSO enabled are affected; an attacker with network access could query the /organizations/domain/sso/verified endpoint with any email address to harvest real org names and identifiers, then leverage those identifiers to obtain a valid pre-validation JWT through the prevalidate() flow without legitimate credentials. No public exploit code is identified and this vulnerability is not listed in the CISA KEV catalog at time of analysis.

Technical ContextAI

Vaultwarden (CPE: cpe:2.3:a:dani-garcia:vaultwarden:*:*:*:*:*:*:*:*) is a Rust-based, Bitwarden-compatible self-hosted password management server. The affected code path centers on the /organizations/domain/sso/verified POST endpoint and the SSO prevalidate() function in src/api/identity.rs and src/api/core/organizations.rs. Prior to 1.36.0, the get_org_domain_sso_verified handler called Organization::find_org_user_email with an attacker-supplied email address, returning actual organization names and organizationIdentifier values from the database. CWE-287 (Improper Authentication) applies because the pre-validation JWT issuance in prevalidate() accepted any valid organizationIdentifier as sufficient to issue a token, without verifying the requestor's actual membership or authentication status. The fix replaces the real lookup with a static dummy response (FAKE_SSO_IDENTIFIER) and introduces a binding_hash column in the sso_auth table (across SQLite, PostgreSQL, and MySQL migrations) alongside cookie-based SSO session binding (VW_SSO_BINDING cookie in oidcsignin) to prevent pre-validation JWT reuse.

RemediationAI

Upgrade to Vaultwarden 1.36.0 or later, available at https://github.com/dani-garcia/vaultwarden/releases/tag/1.36.0; this is the only complete fix. The 1.36.0 release includes database schema migrations (adding binding_hash to the sso_auth table for SQLite, PostgreSQL, and MySQL) that will run automatically on first startup - no manual migration step is required, but a database backup before upgrading is advisable. If immediate upgrade is not possible and SSO is enabled, a compensating control is to restrict network access to the /organizations/domain/sso/verified and /identity/connect/oidc-signin endpoints at the reverse proxy or firewall layer, limiting access to known client IP ranges; the trade-off is that legitimate SSO-initiated logins from dynamic IPs will fail. Disabling SSO entirely (SSO_ENABLED=false) eliminates the vulnerable code path but removes SSO-based authentication for all users.

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-43912 HIGH
8.7 May 11

Cross-organization authorization bypass in Vaultwarden (the Rust-based, self-hosted Bitwarden-compatible server) prior 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-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-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-43914 HIGH
7.3 May 11

Brute-force protection bypass in Vaultwarden (the Rust Bitwarden-compatible server) before 1.35.4 lets unauthenticated r

CVE-2026-43911 MEDIUM
6.8 May 11

Insufficient session expiration in Vaultwarden prior to 1.35.5 allows an attacker holding a previously obtained refresh

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

CVE-2026-47160 MEDIUM
5.8 Jul 15

Server-side request forgery (SSRF) in Vaultwarden's icon fetching endpoint allows blind internal network and port discov

Share

CVE-2026-47159 vulnerability details – vuln.today

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