Tinfoil Devise-two-factor does not "burn" a successfully validated one-time password (OTP)
Moderate severity
GitHub Reviewed
Published
Aug 28, 2018
to the GitHub Advisory Database
•
Updated Jul 5, 2023
Description
Published to the GitHub Advisory Database
Aug 28, 2018
Reviewed
Jun 16, 2020
Last updated
Jul 5, 2023
Tinfoil Devise-two-factor before 2.0.0 does not strictly follow RFC 6238 § 5.2 and does not "burn" a successfully validated one-time password (aka OTP), which allows physically proximate attackers with a target user's login credentials to log in as said user by obtaining the OTP through performing a man-in-the-middle attack between the provider and verifier, or "shoulder surfing", and replaying the OTP in the current time-step.
References