CVE-2026-12215 Details
Description
The OTP Login & Register Woocommerce plugin for WordPress is vulnerable to Authentication Bypass via OTP Brute Force in all versions up to, and including, 2.7.2. The vulnerability exists because the OTP rate-limit attempt counter in `process_otp_form` is keyed exclusively on the attacker-controlled `xoo_ml_user_ip_data` cookie's `ip_address` field, allowing unlimited counter resets by simply rotating the cookie, while the OTP itself is generated with PHP's non-cryptographic `rand()` function over a default space of only 9,000 possible values (1000–9999), and both the OTP issuance endpoint (`xoo_ml_login_with_otp`) and verification endpoint (`xoo_ml_otp_form_submit`) are registered as unauthenticated `wp_ajax_nopriv` actions with no nonce or capability checks. This makes it possible for unauthenticated attackers to brute-force the OTP for any registered account and obtain a full WordPress authentication session — including for administrator accounts — via `wp_set_auth_cookie()` in `login_user_with_otp()`. Exploitation requires the attacker to know the target user's registered phone number, which is used to trigger OTP issuance via the unauthenticated `xoo_ml_login_with_otp` endpoint.
A vulnerability allowing authentication bypass through OTP brute force has been identified in the OTP Login & Register Woocommerce plugin for WordPress, affecting all versions up to and including 2.7.2. The issue arises because the OTP rate-limit attempt counter in the 'process_otp_form' function relies solely on the 'xoo_ml_user_ip_data' cookie's 'ip_address' field, which is controlled by the attacker. This design allows for unlimited counter resets by simply changing the cookie. Additionally, the OTP is generated using PHP's non-cryptographic 'rand()' function, with a limited range of 9,000 possible values (1000–9999). Both the OTP issuance and verification endpoints are accessible without authentication, lacking nonce or capability checks. As a result, unauthenticated attackers can brute-force OTPs for any registered user, including administrators, and gain full WordPress authentication via 'wp_set_auth_cookie()'. Exploitation requires knowledge of the target user's registered phone number, used to request OTPs through the unprotected issuance endpoint.
Users are advised to update the OTP Login & Register Woocommerce plugin to version 2.7.3 or a newer patched version.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Sep 11, 2026CISA-ADP
Assessed Sep 11, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-434 | Unrestricted Upload of File with Dangerous Type | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| Xoo_Ml_Otp_Login_Register | <= 2.7.2 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 11, 2026 | CVE Modified | CISA-ADP |
| Sep 11, 2026 | New CVE Received | [email protected] |
Volerion