Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister/log in as low-privilege account
-
DeliveryEnroll attacker-controlled WebAuthn credential
-
ExploitInvoke webauthn_login route targeting victim login
-
ExecutionAccount resolved from session, credential binding not validated
-
ImpactAuthenticate as arbitrary victim account (takeover)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the target application to have the Rodauth webauthn_login feature enabled, and the attacker must be a logged-in user with an active session on that application (any valid account suffices) who has registered their own WebAuthn credential; the attack is then performed against the webauthn_login route to authenticate as an arbitrary victim account. Limiting factors: applications that do not enable webauthn_login are not affected; the attacker needs valid low-privilege authenticated access rather than fully anonymous access (reflected by AT:P in the CVSS 4.0 vector despite its PR:N marking); and no additional user interaction from the victim is required. |
| Impact | This is a genuinely high-priority flaw, not merely a high-CVSS artifact: the impact is authentication bypass leading to arbitrary-account takeover in a security library whose entire purpose is authentication, with High confidentiality and integrity impact in the CVSS 4.0 vector (VC:H/VI:H). Two signals warrant nuance. First, there is tension between the vector and the description: the CVSS 4.0 string lists PR:N (no privileges), yet the description states the attacker must be a 'logged-in user' - the AT:P (attack requirements present) metric appears to capture that session/credential prerequisite, so realistic exploitation requires a valid low-privilege account, not fully anonymous access. Second, there is no CISA KEV listing, no EPSS score supplied, and no independent public exploit; however, the fix commit includes a working spec that reproduces the takeover end-to-end, which materially lowers the bar for weaponization. Because Rodauth guards login for whole applications, any operator running the webauthn_login feature should treat this as urgent and patch immediately rather than wait for exploitation evidence. |
| Exploit ScenarioDerived | An attacker registers a normal account on the target application and enrolls their own WebAuthn authenticator. Leveraging an active session, they drive the webauthn_login route against a victim's login and submit an assertion from their own authenticator; because the account is resolved from the session identifier instead of the credential binding, the flow authenticates them into the victim's account. The vendor's fix commit ships a spec test that reproduces this takeover, so a functional reproduction is publicly available even though no standalone exploit has been reported. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 29, 2026
Authentication bypass in Rodauth (the Ruby authentication framework by Jeremy Evans, jeremyevans:rodauth) before 2.46.0 lets an already-authenticated user complete WebAuthn login as an arbitrary victim account. The webauthn_login route resolves the target account from the session identifier rather than binding the presented WebAuthn credential to its owning account, so a logged-in attacker can pivot into any other account, yielding full account takeover. Reported by VulnCheck; a vendor patch (2.46.0) exists and the fix commit ships a reproduction test, but there is no public exploit identified and no active exploitation on record.
RemediationAI
Vendor-released patch: upgrade the rodauth gem to 2.46.0 or later, which corrects the account-resolution logic in the webauthn_login feature (fix commit https://github.com/jeremyevans/rodauth/commit/35d74a9f07b2005a8ea75fc11a6539c04f3c2840; advisory https://github.com/jeremyevans/rodauth/security/advisories/GHSA-3pvr-v35r-4r75). If you cannot upgrade immediately, the most direct compensating control is to disable the webauthn_login feature (remove 'enable :webauthn_login' from the Rodauth configuration), which eliminates the vulnerable route at the cost of removing passwordless WebAuthn login for users; standard WebAuthn as a second factor via the base webauthn feature and password login remain available. As an interim monitoring measure, alert on WebAuthn authentications where the resolved account differs from the account that owns the presented credential. These are stopgaps only - upgrading to 2.46.0 is the reliable fix.
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
Rodauth is a modular authentication library for Ruby applications built on the Roda routing tree and Sequel database toolkit; the affected component is its webauthn_login feature, which implements passwordless/second-factor login via the WebAuthn (FIDO2) credential-assertion protocol. The root cause is CWE-287 (Improper Authentication): in lib/rodauth/features/webauthn_login.rb the account-resolution helper used the expression 'super || account_id', causing it to fall back to the session's account_id when resolving which account the login applies to. That fallback decouples the account being logged into from the account that actually owns the verified WebAuthn credential. The patch (commit 35d74a9f) constrains use of account_id to the :login, :webauthn_login and nil (internal-request) routes via a case on @current_route, restoring proper credential-to-account binding so a verified assertion only authenticates its own account.
Know when Rodauth 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
Attacker needs a valid low-privilege session and an enrolled WebAuthn credential (PR:L), exploited remotely over the network with low complexity, yielding full account takeover (C:H/I:H); no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Rodauth before 2.46.0 contains an authentication bypass vulnerability in the webauthn_login route that allows logged-in users to authenticate as any other account. Attackers can exploit improper account resolution logic that falls back to session account identifiers instead of validating the credential binding to complete authentication as arbitrary users.
Technical POC Analysis
The bug class is account-resolution confusion leading to authentication bypass, reported as CWE-287; the advisory also assigns CWE-843.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Rodauth before version 2.46.0 contains an authentication bypass that allows any logged-in user to hijack other accounts, resulting in complete account takeover. This affects all applications using the vulnerable framework versions and exposes user accounts to compromise by internal attackers or compromised users.
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.
TOTP code replay in Rodauth before 2.47.0 allows an attacker who has already obtained a victim's credentials and observe
JWT access token indefinite renewal in Rodauth before 2.47.0 allows an attacker who possesses a valid access token to by
Open redirect in Rodauth before 2.47.0 enables post-authentication phishing by failing to reject protocol-relative retur
CSRF protection bypass in Rodauth before 2.47.0 allows remote attackers to force victims into authenticated sessions und
EUVD-2026-68123
GHSA-qw88-v783-w782
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB