Powrót do strony głównej

CVE-2024-51378 CyberPanel: podatność RCE

W CyberPanel wersji do 2.3.7 odkryto podatność RCE CVE-2024-51378 przez endpointy getresetstatus. Artykuł omawia instalację środowiska testowego, eksploatację PoC i rekomendacje łatania w celu zapobiegania kompromitacji serwerów.

RCE w CyberPanel: obejście auth i root-dostęp CVE-2024-51378
Advertisement 728x90

# Podatność wstrzykiwania poleceń w CyberPanel CVE-2024-51378: analiza i wykorzystanie

W wersjach CyberPanel do 2.3.7 włącznie odkryto podatność wstrzykiwania poleceń (CVE-2024-51378), umożliwiającą obejście uwierzytelniania i wykonywanie dowolnych poleceń za pośrednictwem endpointów /dns/getresetstatus i /ftp/getresetstatus. Problem zlokalizowany jest w plikach dns/views.py i ftp/views.py. Daje to atakującemu pełną kontrolę nad serwerem bez autoryzacji.

CyberPanel: przeznaczenie i architektura

CyberPanel to otwarta panel sterowania hostingiem internetowym oparty na OpenLiteSpeed. Umożliwia zarządzanie domenami, bazami danych, FTP, pocztą i DNS poprzez interfejs webowy na porcie 8090. Popularny wśród dostawców hostingu i programistów dzięki integracji ze współczesnymi stosami technologicznymi.

Podatność dotyczy serwerów na Ubuntu/Debian z zainstalowanym panelem. Atakujący może uzyskać dostęp root, co prowadzi do kompromitacji wszystkich hostowanych usług.

Google AdInline article slot

Konfiguracja środowiska testowego

Aby sprawdzić podatność, uruchom VPS z Ubuntu i zainstaluj podatną wersję CyberPanel:

  • Zaktualizuj pakiety:
apt-get update
  • Zainstaluj wget i pobierz instalator:
apt install wget
cd /opt
wget -O installer.sh https://cyberpanel.net/install.sh
  • Uruchom instalację:
chmod +x installer.sh
sh installer.sh

Po restarcie otwórz https://<IP>:8090 w celu konfiguracji. Tworzy to środowisko testowe z podatnymi endpointami.

Analiza techniczna podatności

RCE wynika z niewystarczającej walidacji danych wejściowych w obsługach /dns/getresetstatus i /ftp/getresetstatus. Parametry żądania przekazywane są do poleceń shell bez escapingu, co umożliwia wstrzyknięcie.

Google AdInline article slot

Przykład wykorzystania z publicznym 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

Skrypt wysyła spreparowane żądanie, wykonujące payload na serwerze. Rezultat to reverse shell lub wykonanie poleceń jako root. W środowisku testowym prowadzi to do wyodrębnienia flag lub utrwalenia dostępu.

Kluczowe wektory ataku:

Google AdInline article slot
  • Obejście autentykacji bez danych logowania.
  • Wykonanie os.system() z danymi kontrolowanymi przez użytkownika.
  • Eskalacja uprawnień do root z powodu kontekstu panelu.

Metryki wpływu i wykrywanie

Podatność ma ocenę CVSS 9.8 (Krytyczna). Dotyczy wszystkich instalacji przed patchem 2.3.7. Aby wykryć, sprawdź logi w /home/cyberpanel/logs/ pod kątem podejrzanych żądań do /getresetstatus lub monitoruj ruch na porcie 8090.

Kroki weryfikacji:

  • Sprawdź wersję: cyberpanel version.
  • Przetestuj endpointy za pomocą curl: curl 'http://target:8090/ftp/getresetstatus?param=;id'. Jeśli wyświetla uid=0(root), podatność istnieje.
  • Użyj skanerów typu Nuclei z szablonem CVE-2024-51378.

Środki zaradcze

  • Zaktualizuj do 2.3.7+ z patchem: postępuj zgodnie z instrukcjami w panelu lub CLI.
  • Ogranicz dostęp: firewall na 8090 (ufw allow from IP-range), użyj VPN.
  • Wdroż WAF (ModSecurity) do filtrowania wstrzykiwań.
  • Audyt: grep -r 'getresetstatus' /usr/local/CyberCP/ w poszukiwaniu modyfikacji.

Regularne aktualizacje i zasada najmniejszych uprawnień minimalizują ryzyka.

Co ważne

  • Podatność umożliwia RCE bez uwierzytelniania za pośrednictwem /dns/getresetstatus i /ftp/getresetstatus w wersjach ≤2.3.7.
  • Patch jest dostępny; natychmiastowa aktualizacja kluczowa dla produkcji.
  • Przetestuj środowisko PoC przed aktualizacją, aby uniknąć fałszywych alarmów.
  • Monitoruj port 8090 i logi pod kątem wzorców wstrzykiwania poleceń.
  • Ogranicz zewnętrzny dostęp do panelu za pomocą firewall/VPN.

— Editorial Team

Advertisement 728x90

Czytaj dalej