CVE-2026-34358
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
CtrlPanel 1.1.1 i wcześniejsze zawiera podatność polegającą na złamaniu kontroli dostępu. Administratorzy wdrożyli sprawdzanie uprawnień w metodach wyświetlania formularzy, ale pominęli je w odpowiadających im metodach zapisu (store/update), co pozwala każdemu uwierzytelnionemu użytkownikowi na ominięcie RBAC poprzez bezpośrednie żądania POST/PATCH.
Ocena ryzyka
Atakujący bez uprawnień administracyjnych może uzyskać dostęp do API, generować kupony i vouchery, zmieniać ceny produktów, przypisywać prowizje, przejmować serwery oraz modyfikować konta użytkowników (w tym role, hasła i identyfikatory Pterodactyl), co prowadzi do pełnej eskalacji uprawnień.
Rekomendacja
Niezwłocznie zaktualizuj CtrlPanel do wersji 1.2.0, która zawiera poprawkę usuwającą tę lukę.
Inne podatności w CtrlPanel
Zobacz wszystkie- CVE-2026-34234Krytyczne
CtrlPanel to oprogramowanie do fakturowania open-source dla dostawców hostingu. W wersjach 1.1.1 i wcześniejszych instalator webowy (public/installer/index.php) jest podatny na nieuwierzytelnione zdalne wykonanie kodu (RCE), ponieważ wykonuje sprawdzenie install.lock dopiero po dołączeniu i wykonaniu plików obsługi formularza, pozostawiając punkty końcowe instalatora dostępne na już zainstalowanych instancjach. Obsługa przekazuje również niesanitizowane dane wejściowe użytkownika bezpośrednio do poleceń powłoki, umożliwiając atakującemu wysłanie spreparowanych żądań wykonujących dowolne polecenia na serwerze. Podatność wynika z dwóch połączonych słabości: (1) przedwczesne wykonanie obsługi formularza przed sprawdzeniem pliku blokady oraz (2) niebezpieczne użycie danych wejściowych użytkownika w konstrukcji poleceń powłoki. Zgłoszono, że ta podatność jest aktywnie wykorzystywana w środowisku naturalnym. Problem został naprawiony w wersji 1.2.0.
- CVE-2026-34246Średnie
CtrlPanel (oprogramowanie billingowe open-source dla dostawców hostingu) w wersjach 1.1.1 i wcześniejszych zawiera trwałą podatność XSS w interfejsie zarządzania rolami administratora. Metoda datatable() w RoleController.php interpoluje nazwę i kolor roli bezpośrednio do kodu HTML bez sanitacji, a .rawColumns(['actions', 'name']) wyłącza automatyczne kodowanie. Administrator z uprawnieniami do tworzenia lub edycji ról może wstrzyknąć złośliwy kod, który wykona się przy każdym załadowaniu strony /admin/roles przez każdego administratora.
- CVE-2026-34241Wysokie
Podatność Stored XSS w systemie bilingowym CtrlPanel (wersje 1.1.1 i wcześniejsze) występuje w powiadomieniach odpowiedzi na zgłoszenia. Niesanitizowana treść odpowiedzi jest przechowywana w bazie danych i renderowana bez escapowania przez składnię Blade {!! !!}, co pozwala na wykonanie dowolnego JavaScriptu w kontekście sesji ofiary. Problem dotyczy zarówno powiadomień dla administratorów, jak i użytkowników.
- CVE-2026-34233Średnie
CtrlPanel, oprogramowanie billingowe open-source dla dostawców hostingu, w wersjach 1.1.1 i wcześniejszych, posiada wiele kontrolerów administracyjnych udostępniających endpointy DataTable bez kontroli autoryzacji. Każdy uwierzytelniony użytkownik może uzyskać dostęp do wrażliwych danych administracyjnych.
- CVE-2026-34216Średnie
CtrlPanel w wersjach do 1.1.1 zawiera podatność na zdalne wykonanie kodu (RCE) w punkcie końcowym aktualizacji ustawień administratora. Podatność wynika z braku walidacji wczytywanej klasy, co pozwala uwierzytelnionemu administratorowi na dynamiczne wywołanie dowolnej klasy dostępnej w autoloaderze Composera, potencjalnie prowadząc do wykonania kodu.
Oryginalny opis (angielski, źródło NVD)
CtrlPanel is open-source billing software for hosting providers. Versions 1.1.1 and prior contains a broken access control vulnerability where multiple admin controllers enforce permission checks on form display methods but omit equivalent checks on the corresponding write methods, allowing any authenticated user to bypass RBAC via direct POST/PATCH requests. Controllers missing checks on write methods store() and update() include ApplicationApiController (admin.api.write), CouponController (admin.coupons.write), PartnerController (admin.partners.write), ShopProductController (admin.store.write), UsefulLinkController (admin.useful_links.write), and VoucherController (admin.voucher.write); ProductController (admin.products.edit), ServerController (write/change_owner/change_identifier), and UserController (write/change_email/change_credits/change_username/change_password/change_role/change_referral/change_ptero/change_serverlimit) are missing checks on update() only, and ActivityLogController exposed empty stub store()/update() methods that silently accepted any request. An authenticated attacker without admin write privileges can issue API credentials, generate unlimited coupons and vouchers, assign arbitrary partner commission and discount rates, alter shop product pricing and limits, reassign server ownership or identifiers, and modify user accounts including roles, credits, passwords, and linked Pterodactyl IDs to achieve full privilege escalation, as well as abuse logBackIn() without the login_as permission to interfere with admin impersonation sessions. This issue has been fixed in version 1.2.0.

