Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-96451 — Vulnerabilidad de escalada de privilegios en el plugin Ultimate Member de WordPress <= 2.13.1 | Kitploit
Herramientas/GitHubGitHub/nxploited/cve-2026-96451
Escalada de PrivilegiosEscáneres de VulnerabilidadesAtaques de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubnxploited/cve-2026-96451

CVE-2026-96451

Vulnerabilidad de escalada de privilegios en el plugin Ultimate Member de WordPress <= 2.13.1

4hace 12h 49mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

CVE-2026-96451

Vulnerabilidad de escalada de privilegios en el plugin Ultimate Member de WordPress <= 2.13.1

🔥 CVE-2026-96451

Ultimate Member <= 2.13.1 — Escalada de privilegios / Toma de control de cuenta

📌 Registro oficial: CVE-2026-96451


📋 Descripción

De CVE.org:

Vulnerabilidad de omisión de autorización mediante clave controlada por el usuario en Ultimate Member Ultimate Member ultimate-member permite la escalada de privilegios. Este problema afecta a Ultimate Member: desde n/a hasta 2.13.1.

CampoValor
🆔 CVECVE-2026-96451
🏷️ CWECWE-639 — Omisión de autorización mediante clave controlada por el usuario
📊 CVSS 3.18.8 ALTO AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
🏢 AsignadorPatchstack
⚠️ AfectadoUltimate Member hasta 2.13.1
✅ Corregido2.14.0

Un suscriptor con sesión iniciada puede cambiar el correo electrónico de otro usuario (normalmente el administrador). WordPress entonces acepta un restablecimiento de contraseña para ese nuevo buzón.


🧠 Cómo funciona

  1. Ultimate Member verifica un nonce de descarga, luego llama a um_fetch_user($user_id) y cambia el usuario global al ID de la URL.
  2. Si el campo de archivo no existe, download_routing() retorna sin um_reset_user().
  3. La misma petición también lleva campos del formulario de cuenta (_um_account=1, user_email=...).
  4. account_submit() lee um_user('ID') — ahora la víctima — y escribe el nuevo correo electrónico.

El nonce de descarga es wp_create_nonce($user_id . $form_id . 'um-download-nonce'). Está vinculado a ese ID de usuario. No se puede inventar. El script lo copia de un enlace visible /um-download/{form}/{field}/{user}/{nonce}/.

Se debe mostrar un campo personalizado de archivo o imagen en el perfil. Las fotos de perfil/portada integradas no producen este enlace.


⚙️ Requisitos

pip install requests rich
  • Python 3.9+
  • Lista de objetivos: una URL por línea

🚀 Uso

El registro, inicio de sesión, recolección de nonce, explotación y verificación de restablecimiento son automáticos. No creas cuentas a mano ni pasas una contraseña de suscriptor para un escaneo masivo.

Escaneo masivo

python CVE-2026-96451.py -l targets.txt -t 80 --email "[email protected]" -o um_takeover.txt

Qué hace este comando en cada host:

  1. 🔎 Detectar Ultimate Member
  2. 📝 Registrar un suscriptor en el formulario público de UM
  3. 🔑 Iniciar sesión y abrir /account/
  4. 📂 Encontrar un nonce visible de /um-download/ (prefiere el ID de usuario 1, luego cualquier miembro con un archivo)
  5. 💥 Enviar la petición de confusión de identidad y establecer el correo de la cuenta a --email
  6. 📬 Sondear wp-login.php?action=lostpassword (WordPress no necesita un nonce aquí)
  7. 💾 Escribir la etapa en um_takeover.txt

--email es el buzón colocado en la cuenta objetivo para que puedas recibir el restablecimiento. El script no abre la bandeja de entrada ni establece una nueva contraseña. Ese último paso es manual.

Host único

python CVE-2026-96451.py -u "https://example.com" --email "[email protected]"

Flags opcionales

FlagPropósitoPredeterminado
-l / --listArchivo de objetivos—
-u / --urlUn objetivo—
-t / --threadsWorkers10
-o / --outputArchivo de resultadosum_takeover.txt
--emailBuzón escrito en la víctimagenerado automáticamente
--target-idID de usuario preferido1
--user / --passwordUsar un suscriptor existente en lugar de registrarsedesactivado
-v / --verboseImprimir cada etapadesactivado

En una máquina RDP lenta, 80–150 hilos es suficiente. Un escaneo de lista da a cada host unos 22 segundos.


📟 Línea de estado

[5400/11965]  RST:0  CHG:0  UM:4463  REG:589  rf:3874 lf:0 na:141 nd:448 nc:0 no:937
CódigoSignificado
RST / CHGCorreo cambiado y/o restablecimiento aceptado — revisa la bandeja de entrada
UMUltimate Member detectado
REGEl autorregistro creó una sesión
rfSin formulario público, CAPTCHA, aprobación o activación por correo
lfRegistrado pero el inicio de sesión falló
naPágina de cuenta / nonce ausente
ndSin nonce de descarga visible (sin campo de archivo personalizado)
ncExploit enviado, cambio no confirmado
noNo es Ultimate Member

REG_FAIL en muchos hosts es normal. La cadena solo continúa donde el registro crea una sesión y un enlace de descarga es visible.

Cuando aparece RST o CHG:

  1. Abre el buzón pasado a --email
  2. Abre el mensaje de restablecimiento de WordPress
  3. Establece una contraseña
  4. Inicia sesión en /wp-login.php o /wp-admin/

⚖️ Aviso legal

Este proyecto es solo para investigación de seguridad autorizada — sistemas que posees o para los que tienes permiso por escrito para probar.

El acceso no autorizado a sistemas informáticos es ilegal. El autor no acepta ninguna responsabilidad por el mal uso, daños o cualquier resultado de este software. Eres el único responsable de cómo se utiliza y de cada objetivo que escaneas.

Por: Nxploited ( Khaled Alenazi )

Descargar herramienta