Sceawere
Vulnerability Detail
CVE-2026-82470UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Rodauth TOTP Replay Vulnerability
Vulnerability Metadata
- Severity
- Medium
- Score / CVSS
- 5.4
- Creation Date
- 2h ago
- Vendor
- jeremyevans
- Product
- rodauth
- Attack Type
- Authentication Bypass by Capture-replay
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
- Attack Complexity
- LOW
Narrative and Response
Description
Rodauth before 2.47.0 contains a time-based one-time password reuse vulnerability in the otp feature that fails to track the last accepted code timestamp. Attackers who observe a valid TOTP code can replay it during the drift window to bypass the second authentication factor.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "5.4",
"pubDate": "2026-08-29T17:17:59.490Z",
"pubdate": "2026-08-29T17:17:59.490Z",
"executiveSummary": "Rodauth versions prior to 2.47.0 contain a critical security flaw within the otp (One-Time Password) feature, specifically a failure to track the last accepted code timestamp. This vulnerability allows for the replay of Time-based One-Time Password (TOTP) tokens.\nThe vulnerability is classified as an authentication bypass mechanism. By observing a previously used valid TOTP token, an attacker can reuse that token within the allowed drift window to bypass secondary authentication requirements.\nThe impact is significant, as it undermines the security provided by multi-factor authentication (MFA). Any system utilizing the Rodauth otp feature for identity verification is susceptible to unauthorized access if an attacker obtains a valid token during a live session or via interception.\nRisk implications include unauthorized account access, identity theft, and potential compromise of sensitive user data. Exploitation is feasible for any attacker capable of intercepting or observing valid TOTP codes while the drift window remains active, requiring no elevated privileges beyond the ability to interact with the authentication endpoint.",
"technicalDetails": "The root cause of this vulnerability lies in the improper implementation of TOTP validation logic within the Rodauth otp component. Standard TOTP implementations, as defined by RFC 6238, rely on time-synchronization intervals (typically 30 seconds). To accommodate minor clock skew between the client device and the server, most systems implement a 'drift' window that permits the acceptance of tokens from adjacent time intervals.\nIn secure implementations, once a TOTP token is validated for a specific time interval, the server must record the timestamp or the token identifier to prevent the subsequent reuse of that same token within the valid drift period. Rodauth versions prior to 2.47.0 fail to maintain this stateful tracking of the last accepted code timestamp.\nThe exploitation flow proceeds as follows: First, an attacker intercepts or observes a valid TOTP code submitted by an authorized user during a successful authentication event. Second, because the server does not mark this specific token or timestamp as 'consumed' for the duration of the drift window, the token remains cryptographically valid to the server's verification logic.\nThird, the attacker submits the intercepted TOTP code to the authentication endpoint within the configured drift window (e.g., if the drift is 30 seconds, the attacker has a narrow but sufficient window to replay the code). The server evaluates the TOTP code against its internal secret key and the current server time, calculates that the code is 'valid' for the drift-adjusted time period, and proceeds to grant access because it lacks an internal check to see if that specific code was already utilized.\nThis behavior constitutes an authentication bypass, as the security property of 'one-time' usage is effectively nullified for the duration of the drift window. The vulnerability is located within the core otp feature logic where code verification is processed. The authentication requirement for the attacker is minimal, provided they have access to the primary credentials or are operating within an environment where the secondary factor is the only remaining barrier. The network exposure is limited to the public-facing authentication endpoint, and the post-exploitation impact is a total compromise of the secondary authentication layer for the targeted user account."
}