SEPTEMBER 14, 2026
Live Feed
Back to database
Case File

CVE-2026-12215

MEDIUM · CVSS 5.3 EPSS 0.32% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-09-11 · Last synced 2026-09-14

CyberRota Analysis

AI-Generated

The OTP Login & Register Woocommerce plugin for WordPress is vulnerable to authentication bypass due to an OTP brute force flaw, allowing unauthenticated attackers to exploit the OTP issuance and verification processes. By manipulating the attacker-controlled cookie and leveraging a weak OTP generation method, attackers can reset the OTP attempt counter and potentially gain unauthorized access to any registered account, including administrative privileges. WordPress site administrators using this plugin should prioritize patching to mitigate the risk of account compromise.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

Detected Signals
exploit

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-12215
Severity
MEDIUM
CVSS
5.3
EPSS
0.32%
WordPress

Original NVD 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.