The Login with OTP plugin for WordPress is vulnerable to authentication bypass in all versions up to, and including, 1.6. This is due to an incomplete fix for CVE-2024-11178: the rate-limit/lockout check added to `otpl_login_action()` was placed only inside the OTP-generation branch and is never evaluated on the OTP-validation branch, and the generated 6-digit OTP additionally has no expiration. This makes it possible for unauthenticated attackers to brute-force the 900,000-value OTP space for any user account (including administrators) and obtain a valid `wp_set_auth_cookie()` session, leading to full site compromise.
https://plugins.trac.wordpress.org/browser/otp-login/trunk/lib/otpl-class.php#L427
https://plugins.trac.wordpress.org/browser/otp-login/trunk/lib/otpl-class.php#L424
https://plugins.trac.wordpress.org/browser/otp-login/trunk/lib/otpl-class.php#L419
https://plugins.trac.wordpress.org/browser/otp-login/trunk/lib/otpl-class.php#L361
https://plugins.trac.wordpress.org/browser/otp-login/tags/1.6/lib/otpl-class.php#L427
https://plugins.trac.wordpress.org/browser/otp-login/tags/1.6/lib/otpl-class.php#L424
https://plugins.trac.wordpress.org/browser/otp-login/tags/1.6/lib/otpl-class.php#L419
https://plugins.trac.wordpress.org/browser/otp-login/tags/1.6/lib/otpl-class.php#L361