CtrlPanel: Stored XSS in Admin Role Management via Unescaped DataTable HTML Output
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-80.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Ctrlpanel-gg | panel | before 1.2.0 | 1.2.0 | Patch available | CNA |
- panel VendorCtrlpanel-gg Affected before 1.2.0 Fixed in 1.2.0 Patch available CNA
Remediation
- Fix · CNA panel (Ctrlpanel-gg) Fixed in 1.2.0
Timeline
- 2026-10-02 Threatist record created from CVE-2026-34246
References
More Ctrlpanel-gg vulnerabilities
- TI-2026-26529 CtrlPanel: Unauthenticated RCE using installer script CVSS 3.1CRITICAL 10.0
- TI-2026-26536 CtrlPanel: Stored XSS in Ticket Reply Notifications Allows Session Hijacking CVSS 3.1HIGH 8.7
- TI-2025-18872 Ctrlpanel has stored XSS vulnerability in TicketsController priority field CVSS 3.1HIGH 8.1
- TI-2026-26644 CtrlPanel: Missing Authorization on Admin Write Endpoints Allows RBAC Bypass CVSS 3.1HIGH 8.1
- TI-2026-26511 CtrlPanel: Authenticated Remote Code Execution via Dynamic Class Instantiation in SettingsController.php CVSS 3.1MEDIUM 6.6
- TI-2026-26528 CtrlPanel has Missing Authentication Checks in Datatable Admin Endpoints CVSS 3.1MEDIUM 6.5
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences