{"id":"UBUNTU-CVE-2026-82470","details":"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.","modified":"2026-10-17T13:01:11.583429714Z","published":"2026-08-29T17:17:00Z","upstream":["CVE-2026-82470"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-82470"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-82470"},{"type":"REPORT","url":"https://github.com/jeremyevans/rodauth/security/advisories/GHSA-hhvg-6qmv-58vc"},{"type":"REPORT","url":"https://github.com/jeremyevans/rodauth"},{"type":"REPORT","url":"https://github.com/jeremyevans/rodauth/commit/3bfd0a11bae70935b1944e71dbe787dd0c3a62ad"},{"type":"REPORT","url":"https://www.vulncheck.com/advisories/rodauth-before-2.47.0-totp-code-reuse-via-drift-window"}],"affected":[{"package":{"name":"ruby-rodauth","ecosystem":"Ubuntu:26.10","purl":"pkg:deb/ubuntu/ruby-rodauth?arch=source&distro=stonking"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.43.0-1","2.44.0-1","2.45.0-1"],"ecosystem_specific":{"binaries":[{"binary_name":"ruby-rodauth","binary_version":"2.45.0-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-82470.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}