Zpět na domů

CVE-2024-51378 CyberPanel: RCE zranitelnost

V CyberPanel verzí do 2.3.7 objevena RCE zranitelnost CVE-2024-51378 prostřednictvím endpointů getresetstatus. Článek rozebírá instalaci testovacího prostředí, exploitaci PoC a doporučení k patchování pro prevenci kompromitace serverů.

RCE v CyberPanel: obcházení auth a root přístup CVE-2024-51378
Advertisement 728x90

# Zranitelnost command injection v CyberPanel CVE-2024-51378: analýza a exploatace

V CyberPanel ve verzích do 2.3.7 včetně byla objevena zranitelnost command injection (CVE-2024-51378), která umožňuje obejít autentizaci a spustit libovolné příkazy prostřednictvím endpointů /dns/getresetstatus a /ftp/getresetstatus. Problém je lokalizován v souborech dns/views.py a ftp/views.py. To poskytuje útočníkovi plnou kontrolu nad serverem bez autorizace.

CyberPanel: účel a architektura

CyberPanel je open-source panel pro správu webhostingu založený na OpenLiteSpeed. Podporuje správu domén, databází, FTP, e-mailu a DNS přes webové rozhraní na portu 8090. Je oblíbený u poskytovatelů hostingu a vývojářů díky integraci s moderními technologickými stacky.

Zranitelnost se týká serverů na Ubuntu/Debian s nainstalovaným panelem. Útočník tak může získat root přístup, což vede ke kompromitaci všech hostovaných služeb.

Google AdInline article slot

Nastavení testovacího prostředí

Pro ověření zranitelnosti nasaďte VPS s Ubuntu a nainstalujte CyberPanel zranitelné verze:

  • Aktualizujte balíčky:
apt-get update
  • Nainstalujte wget a stáhněte instalátor:
apt install wget
cd /opt
wget -O installer.sh https://cyberpanel.net/install.sh
  • Spusťte instalaci:
chmod +x installer.sh
sh installer.sh

Po restartu otevřete https://<IP>:8090 pro konfiguraci. Tím vznikne testovací prostředí s endpointy náchylnými k útoku.

Technická analýza zranitelnosti

RCE vzniká kvůli nedostatečné validaci vstupu v obslužných routinech /dns/getresetstatus a /ftp/getresetstatus. Parametry požadavku se předávají do shell příkazů bez escapování, což umožňuje injekci.

Google AdInline article slot

Příklad exploatace s veřejným 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

Skript pošle crafted požadavek, který spustí payload na serveru. Výsledek je reverzní shell nebo spuštění příkazů od roota. V testovacím prostředí to vede k získání flagů nebo persistence.

Klíčové vektory útoku:

Google AdInline article slot
  • Obcházení autentizace bez přihlašovacích údajů.
  • Spuštění os.system() s user-controlled vstupem.
  • Escalace privilegií na root díky kontextu panelu.

Metriky dopadu a detekce

Zranitelnost má CVSS 9.8 (Critical). Postihuje všechny instalace do patche 2.3.7. Pro detekci zkontrolujte logy v /home/cyberpanel/logs/ na podezřelé požadavky na /getresetstatus nebo monitorujte provoz na portu 8090.

Kroky k ověření:

  • Zkontrolujte verzi: cyberpanel version.
  • Testujte endpointy s curl: curl 'http://target:8090/ftp/getresetstatus?param=;id'. Pokud vypíše uid=0(root), zranitelnost je přítomna.
  • Použijte skenery jako Nuclei s šablonou CVE-2024-51378.

Opatření k odstranění

  • Aktualizujte na 2.3.7+ s patchem: postupujte podle instrukcí v panelu nebo CLI.
  • Omezte přístup: firewall na 8090 (ufw allow from IP-range), použijte VPN.
  • Implementujte WAF (ModSecurity) pro filtrování injekcí.
  • Audit: grep -r 'getresetstatus' /usr/local/CyberCP/ na vlastní úpravy.

Pravidelné aktualizace a principy least-privilege minimalizují rizika.

Co je důležité

  • Zranitelnost umožňuje RCE bez autentizace přes /dns/getresetstatus a /ftp/getresetstatus ve verzích ≤2.3.7.
  • Patch je dostupný; okamžité aktualizování je klíčové pro produkční prostředí.
  • Testujte prostředí s PoC před aktualizací, abyste se vyhnuli falešným poplachům.
  • Monitorujte port 8090 a logy na patterny command injection.
  • Omezte vnější přístup k panelu pomocí firewallu/VPN.

— Editorial Team

Advertisement 728x90

Číst dál