Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
2DescriptionCVE.org
The OTP Login With Phone Number, OTP Verification plugin for WordPress is vulnerable to authentication bypass in versions 1.8.50 through 1.8.60. This is due to the Firebase verification flow in the lwp_ajax_register AJAX handler not binding the Firebase session to the phone number supplied in the request. The idehweb_lwp_activate_through_firebase() function validates that a Firebase OTP session is legitimate, but the phoneNumber returned by Firebase is never compared against the victim's stored phone number. This makes it possible for unauthenticated attackers to authenticate as any user who has a phone number stored in user meta, including administrators, by verifying their own Firebase session and supplying the victim's phone number in the same request.
AnalysisAI
Authentication bypass in the OTP Login With Phone Number, OTP Verification WordPress plugin versions 1.8.50 through 1.8.60 allows unauthenticated remote attackers to log in as any user - including administrators - whose phone number is stored in user meta. The flaw stems from the Firebase OTP verification flow failing to bind the verified Firebase session to the phone number supplied in the request, so attackers can verify their own phone via Firebase and then submit a victim's number to be authenticated as that victim. No public exploit identified at time of analysis, but the trivial logic flaw and CVSS 9.8 score make this a critical priority.
Technical ContextAI
The vulnerability resides in the lwp_ajax_register AJAX handler of the login-with-phone-number plugin (vendor: glboy), which integrates Google Firebase Authentication as a phone-based OTP mechanism for WordPress accounts. The idehweb_lwp_activate_through_firebase() function correctly validates the cryptographic legitimacy of a Firebase ID token but never cross-checks the phoneNumber claim returned inside that token against the phone parameter the client submits to identify the target WordPress user. This is a textbook CWE-287 (Improper Authentication) flaw: authentication is verified for one identity (the attacker's Firebase session) while authorization/session establishment is granted for a different identity (the victim's WordPress account), breaking the binding between authenticator and principal. Source references point to ajax-handlers.php lines 649, 659, and 1167 in the affected branch and to changeset 3479314 in the trunk for the fix.
RemediationAI
Upstream fix available (commit/changeset 3479314 on the plugin's trunk); a released patched version beyond 1.8.60 is not independently confirmed in the provided data, so administrators should update to the latest plugin release available on wordpress.org once it is published past 1.8.60 and verify the changeset at https://plugins.trac.wordpress.org/changeset/3479314/login-with-phone-number/ is included. As an immediate compensating control, deactivate and remove the OTP Login With Phone Number plugin until a fixed version is installed - the trade-off is that any users who rely exclusively on phone-based OTP login will lose access and must use standard WordPress username/password recovery. If the plugin cannot be removed, block unauthenticated POST requests to the lwp_ajax_register AJAX action (admin-ajax.php?action=lwp_ajax_register) at a WAF or reverse proxy, accepting the side effect that legitimate new-user registrations via this flow will also break. Auditing user_meta for phone numbers associated with administrator and editor accounts and temporarily clearing them is an additional stopgap that prevents the specific bypass while leaving the plugin installed.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete
Same weakness CWE-287 – Improper Authentication
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-33255
GHSA-8p28-978j-q34v