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
CVE-2026-63030 — WordPress RCE EXP no autorizado | CVE-2026-63030 | Kitploit
Herramientas/GitHubGitHub/mhtsec/cve-2026-63030
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónDesarrollo de Payloads
GitHubmhtsec/cve-2026-63030

CVE-2026-63030

WordPress RCE EXP no autorizado | CVE-2026-63030

Ver Repositorio
9510hace 1 mesAú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

CVE-2026-63030

PoC de cadena de explotación completa en WordPress REST API: confusión de rutas batch + inyección SQL que conducen a creación de administrador sin autenticación → ejecución remota de código.

Solo para pruebas de seguridad autorizadas, reproducción de vulnerabilidades e investigación. Prohibido su uso en objetivos no autorizados.

Resumen de la vulnerabilidad

Descargar herramienta
ElementoDescripción
CVECVE-2026-63030
ComponenteWordPress Core REST API (/batch/v1)
Versiones afectadasWordPress 6.9.0 – 6.9.4 y 7.0.0 – 7.0.1 (según el aviso oficial)
Requisito previo del ataqueEl objetivo tiene habilitado el batch de la REST API; el sitio tiene al menos un artículo o página publicada
Requisito de permisosSin autenticación (Pre-Auth)
ImpactoCrear una cuenta de administrador y, además, subir un plugin para lograr RCE

Cadena de ataque

root@kitploit:~
REST batch 路由混淆
    → author__not_in SQL 注入
    → UNION 伪造 WP_Post / oEmbed cache / Customizer changeset
    → Customizer 发布时切换为已有管理员上下文
    → REST /wp/v2/users 创建新管理员
    → 后台上传一次性插件
    → 执行系统命令

El núcleo no está en la «escritura en la base de datos mediante consultas apiladas», sino en:

  1. La fase de validación y la fase de despacho de serve_batch_request_v1() no sincronizan los índices de $matches / $validation, lo que provoca route confusion.
  2. Tras el desajuste, author_exclude en forma de cadena entra en author__not_in de WP_Query, se concatena en NOT IN (...) y se forma una inyección SQL.
  3. Mediante UNION SELECT se falsifica una fila completa de wp_posts, se activa la lógica de oEmbed / Customizer y se cambia el contexto del usuario actual al de un administrador existente.
  4. Como administrador, se invoca la interfaz REST de creación de usuarios y se escribe un nuevo administrador.
  5. Se inicia sesión en el panel de administración, se sube un plugin y se consigue la ejecución de comandos.

Requisitos del entorno

  • Python 3.10+ (solo biblioteca estándar, sin dependencias de terceros)
  • El objetivo es una instancia de WordPress que tengas autorización para probar
  • El PHP del objetivo debe conservar al menos una función de ejecución (una de proc_open / passthru / system / shell_exec / exec / popen)
  • Si disable_functions deshabilita todas las funciones de ejecución de comandos, aún se puede crear el administrador correctamente, pero la fase de RCE fallará

Descripción de archivos

root@kitploit:~
CVE-2026-63030/
├── exp.py        # 完整利用脚本(单文件,零依赖)
└── README.md     # 本说明

Uso

Uso mínimo (genera un administrador automáticamente, ejecuta id por defecto)

root@kitploit:~
python3 exp.py --url http://192.168.1.10:8080/

Personalización de todos los parámetros

root@kitploit:~
python3 exp.py --url http://192.168.199.134:9005/ --username mht --password 'mht666' --email [email protected] --command 'id' --timeout 60

Descripción de parámetros

ParámetroObligatorioValor por defectoDescripción
--urlSíNingunoURL raíz del WordPress objetivo
--usernameNowp2_<hex>Nombre de usuario del administrador a crear
--passwordNoWp2!<random>Contraseña del administrador a crear
--emailNo<username>@wp2shell.invalidCorreo electrónico del administrador a crear
--command / -cNoidComando que se ejecutará mediante el plugin de un solo uso
--timeoutNo60Tiempo de espera HTTP por solicitud (segundos)

Ejemplo de salida esperada

root@kitploit:~
[*] Creating administrator via SQLi -> customizer bridge...
[+] Generated administrator: labadmin
[*] Password: S3cure!pass
[*] Email: [email protected]
[*] Logging in as generated administrator...
[+] Authenticated.
[*] Uploading one-shot command plugin...
[*] Plugin path: http://192.168.1.10:8080/wp-content/plugins/lab_wp2_cmd_xxxxxxxx/lab_wp2_cmd_xxxxxxxx.php
[*] Executing command: id
[+] command output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
[via: proc_open]
[*] Deleting generated administrator...
[+] Generated administrator removed.
[*] Cleaning up temporary plugin...
[+] Temporary plugin removed.

El script intenta al finalizar:

  1. Eliminar el administrador creado en esta ejecución
  2. Eliminar el directorio del plugin temporal

Si falla en algún punto, limpia manualmente con las credenciales indicadas en la salida.

Notas importantes

  1. Solo entornos autorizados: no lo utilices contra sistemas sin autorización.
  2. Restricciones del objetivo: el script rechaza por defecto objetivos con IP pública literal; solo permite direcciones de red privada / loopback / enlace local u objetivos en forma de dominio.
  3. Refuerzo de PHP: si aparece has been disabled for security reasons, significa que disable_functions ha deshabilitado la función correspondiente. El PoC intenta varios métodos de ejecución en secuencia; si todos están deshabilitados, RCE no está disponible, pero la fase de creación del administrador aún puede tener éxito.
  4. Contenido del sitio: se necesita al menos un artículo o página publicada para sembrar la caché de oEmbed.
  5. Idempotencia y limpieza: cada ejecución crea un nuevo administrador y un plugin temporal; en la ruta de éxito se limpian automáticamente. En caso de fallo, revisa manualmente wp-admin/users.php y wp-content/plugins/.

Recomendaciones de mitigación

  • Actualizar a la versión oficial corregida (según el aviso de seguridad de WordPress)
  • Si el parche no está disponible, se puede restringir temporalmente el acceso no autenticado a /batch/v1
  • En producción, mantener disable_functions y la configuración del usuario web con privilegios mínimos para reducir el impacto de la ejecución de RCE

Disclaimer

El código de este repositorio se utiliza únicamente para investigación de seguridad y reproducción autorizada de vulnerabilidades. El usuario debe asegurarse por sí mismo de cumplir con las leyes y regulaciones locales y con el alcance de autorización del sistema objetivo. El autor no se hace responsable de ningún uso indebido.