Zurück zur Startseite

CVE-2024-51378 CyberPanel: RCE-Schwachstelle

In CyberPanel-Versionen bis 2.3.7 wurde durch getresetstatus-Endpunkte eine RCE-Schwachstelle CVE-2024-51378 entdeckt. Der Artikel behandelt das Einrichten einer Testumgebung, PoC-Ausnutzung und Patches-Empfehlungen, um Kompromittierung des Servers zu verhindern.

RCE in CyberPanel: Auth-Bypass und Root-Zugriff CVE-2024-51378
Advertisement 728x90

Befehlsinjektionslücke in CyberPanel CVE-2024-51378: Analyse und Ausnutzung

Eine Befehlsinjektionslücke (CVE-2024-51378) wurde in CyberPanel-Versionen bis einschließlich 2.3.7 entdeckt. Sie ermöglicht Angreifern, die Authentifizierung zu umgehen und beliebige Befehle über die Endpunkte /dns/getresetstatus und /ftp/getresetstatus auszuführen. Das Problem liegt genau in den Dateien dns/views.py und ftp/views.py. Dadurch erhält ein Angreifer volle Kontrolle über den Server ohne jegliche Berechtigung.

CyberPanel: Zweck und Architektur

CyberPanel ist ein Open-Source-Webhosting-Control-Panel auf Basis von OpenLiteSpeed. Es verwaltet Domains, Datenbanken, FTP, E-Mail und DNS über eine Weboberfläche auf Port 8090. Es ist bei Hosting-Providern und Entwicklern beliebt wegen der nahtlosen Integration in moderne Tech-Stacks.

Die Lücke betrifft Ubuntu/Debian-Server mit installiertem Panel. Ein Angreifer kann Root-Zugriff erlangen und alle gehosteten Dienste kompromittieren.

Google AdInline article slot

Einrichtung einer Testumgebung

Um die Lücke zu überprüfen, richten Sie einen VPS mit Ubuntu ein und installieren eine anfällige Version von CyberPanel:

  • Pakete aktualisieren:
apt-get update
  • wget installieren und Installer herunterladen:
apt install wget
cd /opt
wget -O installer.sh https://cyberpanel.net/install.sh
  • Installation ausführen:
chmod +x installer.sh
sh installer.sh

Nach dem Neustart öffnen Sie https://<IP>:8090 zur Einrichtung. Damit entsteht eine Testumgebung mit anfälligen Endpunkten.

Technische Analyse der Lücke

RCE entsteht durch unzureichende Eingabevalidierung in den Handlern für /dns/getresetstatus und /ftp/getresetstatus. Abfrageparameter werden direkt an Shell-Befehle ohne ordnungsgemäßes Escaping weitergegeben und ermöglichen so Injektionen.

Google AdInline article slot

Beispielhafte Ausnutzung mit dem öffentlichen PoC:

git clone https://github.com/refr4g/CVE-2024-51378.git
cd CVE-2024-51378
python3 CVE-2024-51378.py http://target.com:8090 /ftp/getresetstatus

Das Skript sendet eine manipulierte Anfrage, die die Nutzlast auf dem Server ausführt. Ergebnis ist eine Reverse Shell oder die Ausführung von Root-Befehlen. In einer Testumgebung lässt sich damit z. B. eine Flagge extrahieren oder Persistenz herstellen.

Wichtige Angriffsvektoren:

Google AdInline article slot
  • Umgehung der Authentifizierung ohne Anmeldedaten.
  • Ausführung von os.system() mit benutzersteuerter Eingabe.
  • Privilege Escalation auf Root durch den Kontext des Panels.

Auswirkungsmetriken und Erkennung

Die Lücke erzielt eine CVSS-Bewertung von 9.8 (kritisch) und betrifft alle Installationen vor dem Patch für 2.3.7. Zur Erkennung durchsuchen Sie die Logs in /home/cyberpanel/logs/ nach verdächtigen /getresetstatus-Anfragen oder überwachen den Traffic auf Port 8090.

Verifizierungsschritte:

  • Version prüfen: cyberpanel version.
  • Endpunkte mit curl testen: curl 'http://target:8090/ftp/getresetstatus?param=;id'. Gibt es uid=0(root) zurück, besteht die Lücke.
  • Scanner wie Nuclei mit dem CVE-2024-51378-Template einsetzen.

Abhilfemaßnahmen

  • Auf 2.3.7+ mit Patch aktualisieren: Anweisungen im Panel oder per CLI befolgen.
  • Zugriff einschränken: Port 8090 per Firewall sperren (z. B. ufw allow from IP-range) oder VPN nutzen.
  • WAF wie ModSecurity einsetzen, um Injektionen zu blockieren.
  • Audit durchführen: grep -r 'getresetstatus' /usr/local/CyberCP/ auf eigene Änderungen prüfen.

Regelmäßige Updates und das Least-Privilege-Prinzip minimieren Risiken.

Wichtige Erkenntnisse

  • Die Lücke ermöglicht RCE ohne Authentifizierung über /dns/getresetstatus und /ftp/getresetstatus in Versionen ≤2.3.7.
  • Patch verfügbar; sofortige Updates in der Produktion essenziell.
  • Umgebung vor dem Patchen mit dem PoC testen, um Fehlalarme zu vermeiden.
  • Port 8090 und Logs auf Befehlsinjektionsmuster überwachen.
  • Externen Zugriff auf das Panel per Firewall/VPN beschränken.

— Editorial Team

Advertisement 728x90

Weiterlesen