
CVE‑2026‑58048 – Kit de herramientas de ejecución SQL como root en cPanel

SOLO USO ÉTICO – PRUEBAS DE SEGURIDAD AUTORIZADAS
Este repositorio proporciona herramientas únicamente para profesionales de seguridad autorizados, equipos azules y testers de penetración.
El acceso no autorizado a sistemas informáticos es ilegal según la CFAA (EE. UU.), la Computer Misuse Act (Reino Unido), el TCK 243/244 (Turquía) y leyes similares en todo el mundo.
Descripción general de la vulnerabilidad
CVE‑2026‑58048 es una vulnerabilidad crítica de inyección SQL en cPanel & WHM versiones 11.x que permite a un usuario autenticado de cPanel ejecutar comandos SQL arbitrarios con privilegios de root de MySQL a través de la funcionalidad de renombrado de bases de datos.
Cómo funciona
- Se requiere acceso autenticado – el atacante debe tener una cuenta válida de cPanel (usuario/contraseña) en el servidor objetivo.
- Manipulación del modo SQL – el exploit establece la sesión de MySQL en modo
ANSI_QUOTES, lo que cambia el comportamiento del análisis sintáctico.
- Inyección en el renombrado de bases de datos – al renombrar una base de datos, el nuevo nombre no se sanitiza correctamente, lo que permite al atacante inyectar sentencias SQL arbitrarias.
- Privilegios de root – dado que la operación de renombrado se ejecuta con privilegios de root de MySQL, el SQL inyectado se ejecuta con los máximos permisos de base de datos.
- Impacto – toma de control total de la base de datos, escalada de privilegios, compromiso del servidor, robo de datos, puertas traseras y movimiento lateral. ¡Actualice inmediatamente!
Versiones afectadas
- cPanel & WHM 11.110 y anteriores – vulnerables
- 11.111 – 11.118 – vulnerables
- 11.119 – 11.126 – vulnerables
- 11.127 – 11.134 – vulnerables
- 11.135 – 11.136 – vulnerables
- 11.137.x – vulnerables por debajo de
11.137.1.6
- 11.138.1.6 y posteriores – parcheadas
Parche
- Actualice a cPanel & WHM 11.138.1.6 o superior.
- Si la actualización no es posible, deshabilite las operaciones de renombrado de MySQL para los usuarios de cPanel como solución temporal.
Herramientas
| Herramienta | Propósito | Usuario previsto |
|---|
exploit.py | Kit de herramientas completamente armamentizado con reverse shell, persistencia, RCE mediante UDF, lectura/escritura de archivos, operaciones de base de datos, soporte de proxy y escaneo masivo. | Equipos rojos / pentesters autorizados |
safecheck.py | Comprobador de vulnerabilidades no intrusivo que detecta la versión de cPanel y evalúa el riesgo sin ejecutar ninguna carga maliciosa. Genera informes detallados. | Equipos azules / auditores de seguridad |
Comparación de características
| Característica | exploit.py | safecheck.py |
|---|
| Detección de vulnerabilidad | [+] | [+] |
| Detección de versión | [+] | [+] |
| Inyección SQL como root de MySQL | [+] | [-] |
| Reverse shell | [+] | [-] |
| Persistencia (creación de usuario de cPanel) | [+] | [-] |
| RCE mediante UDF (ejecución de comandos) | [+] | [-] |
| Lectura/escritura de archivos | [+] | [-] |
| Operaciones de base de datos (cualquier SQL) | [+] | [-] |
| Soporte de proxy | [+] | [+] |
| Escaneo masivo (multihilo) | [+] | [-] |
| Shell interactiva | [+] | [-] |
| Modo no intrusivo (seguro) | [-] | [+] |
| Modo detallado/Depuración | [+] | [+] |
| Control de verificación SSL | [+] | [+] |
| User‑Agent personalizado | [+] | [+] |
| Retardo de solicitudes / reintentos | [+] | [-] |
| Salida JSON / informe | [+] | [+] |
| Comprobación de accesibilidad del endpoint | [-] | [+] |
| Detección de fuga del modo SQL | [-] | [+] |
Resumen de casos de uso
| Escenario | Herramienta recomendada |
|---|
| Equipo azul – verificar si su instalación de cPanel es vulnerable | safecheck.py |
| Auditoría de seguridad – evaluación de vulnerabilidades no intrusiva | safecheck.py |
| Equipo rojo – pruebas de penetración autorizadas con explotación completa | exploit.py |
| Bug Bounty – pruebas de divulgación responsable | safecheck.py |
| Escaneo masivo – comprobar múltiples objetivos en busca de la vulnerabilidad | exploit.py (solo detección) |
| Respuesta a incidentes – comprobar si los sistemas están comprometidos | safecheck.py |
Instalación
git clone https://github.com/tc4dy/CVE-2026-58048-PoC-Exploit
cd CVE-2026-58048
pip install -r requirements.txt
requirements.txt
requests
urllib3
colorama
pymysql
Parámetros
Parámetros de exploit.py
| Parámetro | Descripción |
|---|
-t, --target | URL de cPanel objetivo (p. ej. https://cpanel.example.com:2083) |
-l, --target-file | Archivo que contiene la lista de objetivos (uno por línea) para escaneo masivo |
-u, --mysql-user | Nombre de usuario de cPanel/MySQL |
-P, --mysql-pass | Contraseña de cPanel/MySQL |
--mysql-port | Puerto de MySQL (predeterminado: 3306) |
-p, --port | Anular el puerto de cPanel (predeterminado desde la URL o 2083) |
--threads | Número de hilos para múltiples objetivos (predeterminado: 10) |
-o, --output | Guardar resultados en archivo (objetivo único) |
--log | Archivo de registro para salida detallada |
-v, --verbose | Salida detallada |
--proxy | Proxy HTTP/HTTPS (p. ej. http://127.0.0.1:8080) |
-ua, --user-agent | User‑Agent personalizado |
--no-keep-alive | No mantener la sesión activa |
--delay | Retardo entre solicitudes (predeterminado: 2.0s) |
--max-retries | Reintentos máximos (predeterminado: 3) |
--ssl-verify | Verificar certificados SSL |
--cmd | Comando a ejecutar (prefijo sql: o udf: para especificar) |
--inject | SQL personalizado a inyectar (anula otras acciones) |
--reverse-shell | IP:PUERTO del reverse shell (usa UDF) |
--passwd | Cambiar la contraseña de root de MySQL |
--adduser | Crear usuario de cPanel (USUARIO DOMINIO CONTRASEÑA) |
--read | Leer un archivo mediante LOAD_FILE |
-i, --interactive | Shell interactiva después del exploit |
--verify | Verificar el éxito del exploit intentando iniciar sesión en MySQL |
--ping | Hacer ping al objetivo antes de la explotación |
Parámetros de safecheck.py
| Parámetro | Descripción |
|---|
-t, --target | URL de cPanel objetivo (p. ej. https://cpanel.example.com:2083) |
-v, --verbose | Salida detallada |
--proxy | Proxy HTTP/HTTPS (p. ej. http://127.0.0.1:8080) |
-ua, --user-agent | User‑Agent personalizado |
--ssl-verify | Verificar certificados SSL |
--timeout | Tiempo de espera de la solicitud en segundos (predeterminado: 10) |
--log | Guardar informe en archivo |
--json | Mostrar resultados en formato JSON |
Escenarios