CVE-2026-34246
ŚrednieCVSS 4.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może przejąć sesje innych administratorów, wykraść dane uwierzytelniające, eskalować uprawnienia lub utrzymać trwałe backdoory. Podatność umożliwia pełne przejęcie panelu administracyjnego.
Rekomendacja
Należy niezwłocznie zaktualizować CtrlPanel do wersji 1.2.0 lub nowszej, która zawiera poprawkę usuwającą tę podatność.
Oryginalny opis (angielski, źródło NVD)
CtrlPanel is open-source billing software for hosting providers. Versions 1.1.1 and prior contain a Stored Cross-Site Scripting (XSS) vulnerability exists in the admin role management interface. In app/Http/Controllers/Admin/RoleController.php, the datatable() method interpolates $role->name and $role->color directly into a <span> element's HTML and style attribute without sanitization, and the chained .rawColumns(['actions', 'name']) call instructs DataTables to render the name column as raw HTML, bypassing automatic output escaping. An admin with role creation or edit permissions can inject a payload such as <img src=x onerror="alert('XSS_POC')"> into the name or color fields, which is persisted to the database and executes in the browser of every admin who loads the /admin/roles page. This enables session hijacking via cookie theft, credential harvesting through fake login prompts or keyloggers, lateral privilege escalation by performing admin actions on behalf of victims, and a persistent backdoor that re-executes on every page load until the malicious role record is removed. This issue has been resolved in version 1.2.0.

