Description
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.
Problem types
CWE-307 Improper Restriction of Excessive Authentication Attempts
Product status
<= 1.6
Timeline
| 2026-05-26: | Disclosed |
Credits
Irwan Kusuma
References
www.wordfence.com/...-e6a0-456f-afe8-88a39acd97d3?source=cve
plugins.trac.wordpress.org/...in/tags/1.6/lib/otpl-class.php
plugins.trac.wordpress.org/...login/trunk/lib/otpl-class.php
plugins.trac.wordpress.org/...in/tags/1.6/lib/otpl-class.php
plugins.trac.wordpress.org/...login/trunk/lib/otpl-class.php
plugins.trac.wordpress.org/...in/tags/1.6/lib/otpl-class.php
plugins.trac.wordpress.org/...login/trunk/lib/otpl-class.php
plugins.trac.wordpress.org/...in/tags/1.6/lib/otpl-class.php
plugins.trac.wordpress.org/...login/trunk/lib/otpl-class.php
nvd.nist.gov/vuln/detail/CVE-2024-11178