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-89079 — Prueba de concepto en Python para CVE-2026-89079: identifica Theme My Login <=7.2.1 en WordPress multisitio y luego explota la sobrescritura de contraseña sin autenticación mediante lost-password y verifica el inicio de sesión. | Kitploit
Herramientas/GitHubGitHub/murrez/cve-2026-89079
Escalada de PrivilegiosEscáneres de VulnerabilidadesAtaques de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubmurrez/cve-2026-89079

CVE-2026-89079

Prueba de concepto en Python para CVE-2026-89079: identifica Theme My Login <=7.2.1 en WordPress multisitio y luego explota la sobrescritura de contraseña sin autenticación mediante lost-password y verifica el inicio de sesión.

822hace 19 díasAú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-89079 — Theme My Login (WordPress multisite)

PoCbit

Herramientas de investigación de seguridad para CVE-2026-89079: toma de control de cuenta no autenticada en WordPress multisite cuando Theme My Login ≤ 7.2.1 tiene habilitada la opción de red tml_user_passwords.

Solo para pruebas autorizadas. No lo utilice contra sistemas que no sean de su propiedad o para los que no cuente con permiso escrito para probar.

PluginTheme My Login
Afectado≤ 7.2.1
Corregido7.2.2+ (06b7623)
CWECWE-269 Gestión inadecuada de privilegios
CVSS 3.19.8 (Crítica)

Por qué el escaneo de versión ≠ explotable

Las tres condiciones deben cumplirse:

  1. is_multisite() — ms-hooks.php solo se carga en un WordPress multisite real (no en TML /register/ en un sitio único).
  2. get_site_option( 'tml_user_passwords' ) — contraseñas de registro elegidas por el usuario a nivel de red.
  3. Theme My Login ≤ 7.2.1 — tml_ms_filter_pre_insert_user_data() aplica $_POST['user_pass1'] en retrieve_password() → wp_update_user().

Una respuesta checkemail=confirm tras un POST de contraseña olvidada no demuestra que la contraseña se haya cambiado; es el comportamiento normal de WordPress cuando el filtro vulnerable está inactivo.

Estructura del repositorio

CVE-2026-89079/
├── poc.py              # CLI: mass check / exploit / verify-only
├── tml_core.py         # Detection, HTTP/form diagnostics, tests import
├── requirements.txt
├── targets.example.txt
├── tests/
│   └── test_tml_core.py
└── lab/
    └── README.md       # Disposable WP multisite lab notes

Instalación

git clone https://github.com/YOUR_ORG/CVE-2026-89079.git
cd CVE-2026-89079
pip install -r requirements.txt

Uso

Comprobar (huella digital)

python poc.py --check https://target.example.com

# Bulk
python poc.py -f targets.txt --mode check -j 30 -q

# Optional: REST / ?author= hints → 3rd column in vuln list
python poc.py -f targets.txt --mode check --enum-users -j 30 -q

Salidas (predeterminadas):

ArchivoContenido
cve_2026_89079_results.jsonlTodos los objetivos + finding_status, indicios de multisitio / user_pass1
cve_2026_89079_vuln.txtTML ≤ 7.2.1 (pestaña: URL, versión, best_login opcional)
cve_2026_89079_eligible.txtHeurística más estricta: registro en red + registro user_pass1 (no es una garantía)

Los valores de finding_status incluyen: NOT_DETECTED, PATCHED, POTENTIALLY_VULNERABLE, PRECONDITIONS_UNKNOWN, VERIFICATION_INCONCLUSIVE, NETWORK_ERROR.

Exploit (contraseña perdida + verificación de inicio de sesión)

# Single target (default user: auto — enumerate admin-first when REST/?author= allows)
python poc.py https://target.example.com --mode exploit

python poc.py https://target.example.com -u admin --mode exploit
python poc.py https://target.example.com --version-hint 6.8.2 --login-hint admin --mode exploit

# Bulk from vuln list
python poc.py -f cve_2026_89079_vuln.txt --mode exploit -j 15 -q

Flags útiles:

FlagPropósito
--no-require-multisiteIntentar incluso cuando falla la heurística de multisitio (muchos sitios TML de sitio único)
--require-user-passwordsOmitir cuando las páginas de registro carecen de user_pass1
--only-eligibleExplotar solo las filas con exploit_eligible de un --check-jsonl previo
--verify-onlySin POST de contraseña / sin inicio de sesión — solo diagnósticos de formulario y endpoint
--skip-version-checkForzar el intento cuando el readme está bloqueado
-qRegistro masivo más silencioso

Salidas: cve_2026_89079_exploit.jsonl, cve_2026_89079_pwned.txt (inicios de sesión exitosos).

Pruebas

python -m unittest discover -s tests -v

Notas técnicas

  • Manejo de contraseña perdida: tml_lost_password_handler() → núcleo retrieve_password().
  • Corrección en 7.2.2: el filtro wp_pre_insert_user_data ignora las actualizaciones durante la pérdida de contraseña ($update).
  • La detección multisitio ignora las redirecciones de wp-signup.php → /register/ (falso positivo común de TML en sitio único).
  • Formularios analizados con html.parser; admite la pérdida de contraseña AJAX de TML cuando está configurada.

Mitigación

  • Actualizar Theme My Login a 7.2.2+ en la red.
  • Deshabilitar tml_user_passwords o el plugin hasta que se aplique el parche.
  • Bloquear o alertar sobre POST no autenticados a las URL de contraseña perdida que contengan user_pass1.

Referencias

  • CVE-2026-89079
  • WordPress.org changeset 3696081
  • Aviso de Patchstack
  • Página de PoCbit

Legal

Este proyecto está destinado a la investigación en seguridad defensiva, la validación de parches y las pruebas de penetración autorizadas. Queda prohibido su uso indebido. Los autores no asumen ninguna responsabilidad por el uso no autorizado.

Descargar herramienta