Description
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.
Published: 2026-07-15
Score: 8.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Vaultwarden, a Rust‑based Bitwarden‑compatible server, had a flaw in its SSO authorization flow before version 1.36.0. The OAuth state parameter handled by /connect/authorize was not tied to the initiating browser session, attacker‑controlled PKCE parameters were accepted, and SsoAuth records persisted after failed token exchanges. These oversights allow an unauthenticated attacker to trigger authentication with an external IdP, then redeem the resulting tokens to obtain a fully authenticated Vaultwarden session. The issue is fixed in 1.36.0. This vulnerability is a Cross‑Site Request Forgery (CWE‑352).

Affected Systems

The issue affects all instances of the Vaultwarden server managed by dani‑garcia that are running a version before 1.36.0. Versions 1.36.0 and later contain the fix.

Risk and Exploitability

The CVSS base score of 8.3 indicates a high severity hit. The EPSS score, listed as < 1%, suggests that exploitation attempts are rare, and the vulnerability is not in the CISA KEV catalog. From the description, the attack appears to require only a remote HTTP request to the /connect/authorize endpoint, indicating a web‑based attack vector that does not need privileged local access. This inference is drawn from the fact that the flaw involves the OAuth state parameter being unbound to the session.

Generated by OpenCVE AI on July 31, 2026 at 03:31 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Vaultwarden to version 1.36.0 or later
  • Once upgraded, remove any stale SsoAuth entries that may have been left from prior failed exchanges
  • If upgrading immediately is not feasible, disable or remove any SSO integration until a later upgrade can be performed

Generated by OpenCVE AI on July 31, 2026 at 03:31 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 15 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Dani-garcia
Dani-garcia vaultwarden
Vendors & Products Dani-garcia
Dani-garcia vaultwarden

Wed, 15 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 15 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Vaultwarden: CSRF in SSO Authorization Flow
Weaknesses CWE-352
References
Metrics cvssV3_1

{'score': 8.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H'}


Subscriptions

Dani-garcia Vaultwarden
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-15T18:04:27.279Z

Reserved: 2026-05-18T21:25:34.496Z

Link: CVE-2026-47158

cve-icon Vulnrichment

Updated: 2026-07-15T18:04:24.486Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T03:45:04Z

Weaknesses
  • CWE-352

    Cross-Site Request Forgery (CSRF)