Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-41940-analysis — Analisi tecnica del bypass dell'autenticazione cPanel/WHM | Kitploit
Strumenti/GitHubGitHub/oguz-kagan-akar/cve-2026-41940-analysis
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitSicurezza WebThreat IntelligencePaper e RicercaApprendimento e FormazioneRisposta agli Incidenti

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
GitHub
oguz-kagan-akar/cve-2026-41940-analysis

CVE-2026-41940-analysis

Analisi tecnica del bypass dell'autenticazione cPanel/WHM

Vedi Repository
292 mesi faNon ancora revisionato

CVE-2026-41940 — Bypass root in pre-autenticazione di cPanel & WHM tramite iniezione CRLF nel file di sessione

Un approfondimento tecnico incentrato sui difensori


1. Sintesi esecutiva

CampoValore
ID CVECVE-2026-41940
CVSS v3.19.8 (Critico) — Rete / Bassa complessità / Nessun privilegio / Nessuna interazione utente
Classe di vulnerabilitàIniezione CRLF pre-autenticazione → avvelenamento del file di sessione → bypass dell'autenticazione
CWECWE-93 (Neutralizzazione impropria delle sequenze CRLF), forse più vicino a CWE-117 (Neutralizzazione impropria dell'output per log/file), poiché la CRLF iniettata finisce in un file di sessione su disco anziché in un header di risposta HTTP
Prodotti interessaticPanel, WHM (WebHost Manager), WP Squared
ImpattoAcquisizione remota non autenticata di una sessione amministrativa root completamente privilegiata in WHM
Data di divulgazione28 aprile 2026 (avviso di sicurezza cPanel)
Assegnazione CVE29 aprile 2026
Sfruttamento in naturaOsservato già il 23 febbraio 2026, secondo il provider di hosting KnownHost — circa due mesi prima del rilascio della patch
CISA KEVAggiunto poco dopo la divulgazione
Esposizione stimata~1,5 milioni di istanze cPanel esposte su Internet (telemetria Shodan citata da Rapid7); si stima che cPanel detenga una quota del 94% del mercato dei pannelli di controllo web (W3Techs)
WorkaroundNessuno — l'applicazione della patch è l'unica mitigazione completa

cPanel e WHM sono il software di pannello di controllo dominante per l'hosting web condiviso e rivenditore. cPanel è l'interfaccia account rivolta al cliente; WHM è l'interfaccia amministrativa di livello root utilizzata dai provider di hosting e dai proprietari dei server. Entrambi sono serviti dallo stesso demone Perl, cpsrvd, in ascolto su porte accoppiate per ogni superficie (cPanel: 2082/2083, WHM: 2086/2087, Webmail: 2095/2096).

CVE-2026-41940 consente a un attaccante senza alcuna credenziale di manipolare lo stato della sessione su disco prima che avvenga l'autenticazione, portando cpsrvd a reinterpretare in seguito i dati forniti dall'attaccante come attributi di sessione legittimi, completamente autenticati e con privilegi root. Il risultato è il completo compromesso del piano di gestione per ogni sito web e account ospitato sulla macchina — non un problema di un singolo tenant, ma a livello di host, di provider e, in aggregato, dell'intero settore, data la concentrazione di mercato di cPanel.


2. Perché questa vulnerabilità conta oltre il suo punteggio CVSS

Un punteggio CVSS di 9.8 è abbastanza comune da diventare noioso da leggere. Tre fattori strutturali rendono CVE-2026-41940 insolitamente grave nella pratica:

  1. Il raggio di esplosione è l'intero server, non un account. Il compromesso di WHM equivale a un compromesso root. Ogni account cliente, ogni database, ogni chiave privata TLS, ogni backup e ogni zona DNS su quel server è immediatamente nell'area di impatto.

  2. È stato un vero zero-day per circa due mesi. La telemetria di KnownHost colloca lo sfruttamento iniziale intorno al 23 febbraio 2026, ben prima della patch del 28 aprile. Qualsiasi organizzazione esposta su Internet durante quella finestra dovrebbe considerare il compromesso possibile, non solo teorico, e dovrebbe condurre una valutazione retrospettiva del compromesso invece di affidarsi a "abbiamo applicato la patch, quindi siamo a posto".

  3. La maggior parte delle organizzazioni colpite non può applicare la patch da sola. cPanel è tipicamente implementato dai provider di hosting per conto dei tenant. I clienti finali non hanno alcun controllo a livello di codice sulla correzione e dipendono interamente dalla cadenza di patch del loro provider — ed è esattamente il motivo per cui diversi host importanti (Namecheap, KnownHost, HostPapa, InMotion) hanno scelto di bloccare preventivamente il traffico in ingresso verso le porte interessate piuttosto che attendere che ogni tenant si aggiornasse.

Questo terzo punto merita di essere approfondito. Si stima che cPanel controlli circa il 94% del mercato dei pannelli di controllo. Un singolo difetto logico nel codice di gestione delle sessioni di un fornitore è diventato, per alcune settimane, una vulnerabilità di accesso root di fatto a livello di settore. Questo rischio di concentrazione è un tema ricorrente che vale la pena interiorizzare indipendentemente da questa specifica CVE.


3. Contesto architetturale

3.1 cpsrvd e il modello delle porte

cpsrvd è un demone Perl a lunga esecuzione che serve tutte e tre le superfici prodotto cPanel dallo stesso binario e, cosa fondamentale, dallo stesso percorso di codice di gestione delle sessioni:

Coppia di porteSuperficiePubblico
2082 / 2083cPanelClienti finali (per account)
2086 / 2087WHMAmministratori root/rivenditori
2095 / 2096WebmailUtenti email

Poiché tutte e tre le superfici condividono la logica di sessione vulnerabile, l'esposizione di una qualsiasi di queste sei porte è sufficiente per lo sfruttamento — non esiste tra loro una superficie significativamente "meno esposta". In ambienti ben segmentati, nessuna di queste porte dovrebbe essere direttamente raggiungibile da Internet in primo luogo; in pratica, la comodità di gestione, gli accordi di hosting ibrido e il "drift" dei firewall hanno fatto sì che molte lo fossero.

3.2 La doppia rappresentazione della sessione

Le sessioni cPanel vengono persistite in due rappresentazioni parallele su disco, apparentemente per motivi di prestazioni:

  1. File di sessione grezzo (/var/cpanel/sessions/raw/<session-id>) — un formato testuale semplice orientato a righe key=value, un attributo per riga.
  2. Cache JSON (/var/cpanel/sessions/cache/<session-id>, concettualmente) — un documento JSON strutturato, letto preferenzialmente dal percorso di richiesta normale perché più economico da analizzare.

In condizioni operative normali, la cache JSON è autorevole e il file grezzo è un backup di durabilità. La vulnerabilità esiste proprio perché ci sono circostanze in cui il file grezzo viene ri-analizzato e utilizzato per rigenerare la cache JSON, e i due formati sono in disaccordo sul significato di un carattere di nuova riga incorporato.


4. Causa principale: quattro fallimenti indipendenti che si concatenano

CVE-2026-41940 non è un singolo errore. È il prodotto di quattro debolezze separate, ciascuna individualmente plausibile come decisione di progettazione isolata, che si allineano per produrre un bypass completo dell'autenticazione. Questa struttura "a formaggio svizzero" è istruttiva per difensori e revisori del codice ben oltre questo specifico prodotto.

4.1 Livello 1 — Sanitizzazione imposta per convenzione, non dal percorso di scrittura stesso

Il sottosistema di sessione di cPanel aveva già una routine di sanitizzazione responsabile della rimozione dei caratteri pericolosi — ritorni a capo, avanzamenti di riga e = — dai valori di sessione prima che venissero persistiti. Il problema è dove quella routine veniva invocata: risiedeva all'interno delle funzioni wrapper di livello superiore (l'API di "creazione"/"modifica" della sessione), ed era responsabilità del chiamante passare attraverso quei wrapper piuttosto che scrivere direttamente i dati di sessione.

Scarica lo strumento