CtrlPanel w wersjach 1.1.1 i wcześniejszych zawiera krytyczną podatność umożliwiającą nieuwierzytelnionemu atakującemu zdalne wykonanie dowolnych poleceń na serwerze (RCE) poprzez webowy instalator. Podatność jest aktywnie eksploatowana na wolności.
▸ Pokaż oryginał (EN)
CtrlPanel is open-source billing software for hosting providers. In versions 1.1.1 and prior, the web-based installer (public/installer/index.php) is vulnerable to unauthenticated Remote Code Execution (RCE) because it performs the install.lock check only after including and executing form handler files, leaving installer endpoints reachable on already-installed instances. The handlers also pass unsanitized user input directly into shell commands, allowing an attacker to submit crafted requests that execute arbitrary commands on the server. The vulnerability stems from two combined weaknesses: (1) premature form handler execution before the lock file gate, and (2) unsafe use of user input in shell command construction. This issue is reported to be actively exploited in the wild. The issue has been fixed in version 1.2.0.
Webowy instalator (public/installer/index.php) sprawdza obecność pliku blokady install.lock dopiero po załadowaniu i wykonaniu plików obsługujących formularze, co sprawia, że endpointy instalatora pozostają dostępne nawet na w pełni zainstalowanych instancjach. Handlery formularzy przekazują niesanityzowane dane wejściowe użytkownika bezpośrednio do poleceń powłoki systemowej (command injection). Połączenie tych dwóch słabości — przedwczesnego wykonania handlerów przed sprawdzeniem lock file oraz niebezpiecznej budowy poleceń shell — pozwala atakującemu na przesłanie spreparowanego żądania HTTP i wykonanie dowolnego kodu na serwerze bez żadnego uwierzytelnienia.
Atakujący może wykonać dowolne polecenia systemowe z uprawnieniami procesu serwera WWW, co może prowadzić do pełnego przejęcia kontroli nad serwerem, wycieku danych, instalacji backdoorów lub dalszego lateral movement w infrastrukturze.
Należy niezwłocznie zaktualizować CtrlPanel do wersji 1.2.0, w której problem został naprawiony. Patch dostępny jest w repozytorium producenta: https://github.com/Ctrlpanel-gg/panel/releases/tag/1.2.0
CtrlPanel (oprogramowanie rozliczeniowe dla hostingodawców) w wersjach 1.1.1 i wcześniejszych
Opis oryginalny wskazuje, że podatność jest aktywnie eksploatowana na wolności ('actively exploited in the wild'), mimo że nie figuruje w katalogu CISA KEV. Administratorzy powinni potraktować aktualizację jako priorytetową. Podatność wynika z kombinacji CWE-78 (command injection) oraz CWE-284 (improper access control) — brak prawidłowej kontroli dostępu do endpointów instalatora na już zainstalowanych instancjach.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H