CVE-2026-103895
El plugin miniOrange OTP Login, Verification and SMS Notifications para WordPress es vulnerable a un bypass de autenticación en versiones hasta la 5.5.8 inclusive, a través de la función `mo_by_pass_login()`. Esto se debe a que `mo_delay_otp_process()` interrumpe el flujo de autenticación antes de que pueda ejecutarse la validación de la contraseña o el control de intención de administrador (añadido en la 5.5.6), combinado con que el indicador de gracia de Delay OTP (`mov_last_verified_dttm`) se almacena como una fila de `user_meta` indexada únicamente por el ID del usuario objetivo, sin vincularse a la sesión de origen, a la cookie, a la dirección IP ni al dispositivo. Esto permite que atacantes no autenticados se autentiquen como cualquier usuario de WordPress, incluidos los administradores, enviando únicamente un nombre de usuario conocido con el parámetro `mo_wp_login_intent=otp` y cualquier contraseña no vacía, heredando así la ventana de gracia de Delay OTP abierta de un usuario legítimo sin proporcionar nunca credenciales correctas. La explotación requiere que el sitio tenga habilitado el inicio de sesión solo con OTP (`wp_login_skip_password=1`, `wp_login_skip_password_fallback=0`) y la verificación Delay OTP (`wp_login_delay_otp=1`), y que la cuenta objetivo se encuentre actualmente dentro de su intervalo Delay OTP configurado.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Puntuación base
- 8.1
- Versión
- 3.1
- Vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.43 %
- Percentil entre todas las CVEs puntuadas
- 36
- Fecha de la puntuación
- 20/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1190Exploit Public-Facing Applicationinitial access95 % - Impacto principal
T1078Valid Accountsstealth · persistence · privilege escalation · initial access90 %
Vector AV:N/PR:N/UI:N y descripción: sin credenciales, el atacante inicia sesión como cualquier usuario, incluidos administradores, con solo el nombre de usuario.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-287
Referencias
Mostrar las 8 referencias
- https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L1050
- https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L1170
- https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L1519
- https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L1573
- https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L511
- https://plugins.trac.wordpress.org/browser/miniorange-otp-verification?rev=3741261
- https://plugins.trac.wordpress.org/changeset/3733803/miniorange-otp-verification/trunk/handler/forms/class-wploginform.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/4a3a7097-e184-40d0-9c26-7c5638c937a5?source=cve
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-103895",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-103895",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-10-16T15:45:26.474671Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.1,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.2
}
]
},
"affected": [
{
"source": "security@wordfence.com",
"affectedData": [
{
"vendor": "cyberlord92",
"product": "miniOrange OTP Login, Verification and SMS Notifications",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver",
"lessThanOrEqual": "5.5.8"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-10-16T05:17:28.333",
"references": [
{
"url": "https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L1050",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L1170",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L1519",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L1573",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/miniorange-otp-verification/tags/5.5.7/handler/forms/class-wploginform.php#L511",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/browser/miniorange-otp-verification?rev=3741261",
"source": "security@wordfence.com"
},
{
"url": "https://plugins.trac.wordpress.org/changeset/3733803/miniorange-otp-verification/trunk/handler/forms/class-wploginform.php",
"source": "security@wordfence.com"
},
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/4a3a7097-e184-40d0-9c26-7c5638c937a5?source=cve",
"source": "security@wordfence.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security@wordfence.com",
"description": [
{
"lang": "en",
"value": "CWE-287"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "The miniOrange OTP Login, Verification and SMS Notifications plugin for WordPress is vulnerable to Authentication Bypass in versions up to, and including, 5.5.8 via the `mo_by_pass_login()` function. This is due to `mo_delay_otp_process()` short-circuiting the authentication flow before password validation or the administrator intent gate (added in 5.5.6) can run, combined with the Delay OTP grace flag (`mov_last_verified_dttm`) being stored as a `user_meta` row keyed solely by target user ID with no binding to the originating session, cookie, IP address, or device. This makes it possible for unauthenticated attackers to authenticate as any WordPress user — including administrators — by submitting only a known username with the `mo_wp_login_intent=otp` parameter and any non-empty password, thereby inheriting a legitimate user's open Delay OTP grace window without ever supplying correct credentials. Exploitation requires the site to have OTP-only login (`wp_login_skip_password=1`, `wp_login_skip_password_fallback=0`) and Delay OTP Verification (`wp_login_delay_otp=1`) enabled, and the target account must currently be within its configured Delay OTP interval."
}
],
"lastModified": "2026-10-16T16:16:54.177",
"sourceIdentifier": "security@wordfence.com"
}