Cyber Resilience

CVE-2026-60104

Access Control in Bitwarden Server ≤ 2026.6.0

Public PoCAccess Control
Published
08 July 2026
Modified
20 July 2026
Patch / advisory
CVSS Score v4 9.3
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/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
EPSS Score 0.0037 31th percentile
Risk Priority 70 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-60104 is a critical-severity Authorization Bypass Through User-Controlled Key (CWE-639) vulnerability in Bitwarden Server. Its CVSS base score is 9.3 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 31th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-24 (Access Control Decisions) and AC-3 (Access Enforcement) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Bitwarden Server before 2026.6.0 does not verify that the email in a POST /auth-requests/admin-request body belongs to the authenticated caller, allowing a low-privileged organization member to obtain another user's vault key and a victim-scoped access token by creating a Trusted…

more

Device Encryption authentication request, bound to an attacker-controlled public key, that is readable from an unauthenticated endpoint once approved resulting in disclosure of the victim's vault key and account takeover.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-43640Same product: Bitwarden Server
CVE-2026-43639Same product: Bitwarden Server
CVE-2026-57521Same product: Bitwarden Server
CVE-2026-57520Same product: Bitwarden Server
CVE-2026-43638Same product: Bitwarden Server
CVE-2026-57522Same product: Bitwarden Server
CVE-2025-43732Shared CWE-639
CVE-2024-10780Shared CWE-639
CVE-2026-77368Shared CWE-639
CVE-2024-38446Shared CWE-639

Affected Assets

bitwarden
server
≤ 2026.6.0

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Enforcing approved authorizations on every access request structurally stops a user-controlled key from reaching another user's data.

Requiring explicit access-control decisions on each request blocks unauthorized key-driven access.

Least-privilege restrictions limit the scope of data reachable even if a key check is bypassed.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-05 partial match
prevents

Enforcing authorization policy and least privilege directly blocks user-controlled key tampering that bypasses access checks.

PR.IR-01 partial match
prevents

Logical access controls prevent unauthorized data access that results from missing authorization checks on object references.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Access control policy directly requires enforcement of authorization rules that prevent unauthorized access via manipulated keys.

prevents

Managing access rights includes ensuring users can only access their own records and not bypass authorization by altering identifiers.

mitigates

Privileged access rights control restricts what data each user may access, mitigating direct object reference attacks.

prevents

Secure development lifecycle includes authorization design but does not itself implement runtime access checks.

prevents

Application security requirements can mandate authorization controls, yet the control itself is a requirements statement rather than an implemented safeguard.

prevents

Secure coding practices reduce the likelihood of missing authorization checks but do not guarantee their presence at runtime.

References