CVE-2026-104014 Evasión de autenticación en Naimur Email OTP Verification for WooCommerce permite toma de cuentas
El plugin Naimur Email OTP Verification for WooCommerce para WordPress es vulnerable a evasión de autenticación en versiones hasta la 2.1.0. El endpoint de finalización de restablecimiento de contraseña (wp_ajax_nopriv_ceovw_update_new_password) autoriza el restablecimiento solo por la presencia de una fila que marca el email como 'VERIFIED', sin verificación de tiempo, sin vinculación de sesión y sin token por restablecimiento, y la limpieza programada nunca se ejecuta porque no tiene handler add_action()…
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,7 % · percentil 54
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
naimurrahmannahid Naimur Email OTP Verification for WooCommerce
hasta 2.1.0
Qué hacer
- Verificá si usás Naimur Email OTP Verification for WooCommerce y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 9.8 CRÍTICA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadAlta
- IntegridadAlta
- DisponibilidadAlta
Descripción original
The Naimur Email OTP Verification for WooCommerce plugin for WordPress is vulnerable to authentication bypass in versions up to, and including, 2.1.0. This is due to the plugin's password-reset finalization endpoint (the wp_ajax_nopriv_ceovw_update_new_password action handled by CEOVW_AJAX::update_new_password()) authorizing the reset solely by the presence of a database row marking an email as 'VERIFIED', with no timestamp check, no session binding, and no per-reset token — combined with mark_otp_as_verified_for_reset() leaving the row in that state after a user enters their code (abandoning the flow leaves the row behind), and a scheduled 'ceovw_cleanup_expired_otps_event' cron that has no add_action() handler anywhere in the plugin so cleanup never runs. This makes it possible for unauthenticated attackers to take over any account whose owner previously requested and verified a password-reset code and did not immediately finish choosing a new password — the attacker needs only the victim's email address and a nonce that the plugin itself localizes publicly into the CEOVW_APP global on the WooCommerce account page for logged-out visitors, after which they call the endpoint, overwrite the victim's password, and are returned a live wordpress_logged_in_ session cookie for that user (full site takeover if the account is an administrator).
Referencias (7)
- www.wordfence.com/threat-intel/vulnerabilities/id/b29918de-22a2-424f-ad86-ad83874ca81a?so…
- plugins.trac.wordpress.org/browser/naimur-email-otp-for-woocommerce/tags/2.1.0/includes/c…
- plugins.trac.wordpress.org/browser/naimur-email-otp-for-woocommerce/tags/2.1.0/includes/c…
- plugins.trac.wordpress.org/browser/naimur-email-otp-for-woocommerce/tags/2.1.0/includes/c…
- plugins.trac.wordpress.org/browser/naimur-email-otp-for-woocommerce/tags/2.1.0/includes/c…
- plugins.trac.wordpress.org/browser/naimur-email-otp-for-woocommerce/tags/2.1.0/naimur-ema…
- plugins.trac.wordpress.org/browser/naimur-email-otp-for-woocommerce/tags/2.1.1/includes/c…
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.