CVE-2026-34246 CtrlPanel: Stored XSS in Admin Role Management via Unescaped DataTable HTML Output
Stored XSS in CtrlPanel admin role management allows attackers to hijack sessions and escalate privileges via unescaped HTML output.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-34246?
CVE-2026-34246 is a medium-severity cross-site scripting vulnerability in Ctrlpanel-gg panel, published on 19 May 2026. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link.
Official description
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.
Which versions are affected by CVE-2026-34246?
How do I fix CVE-2026-34246?
No fix has been published for CVE-2026-34246 yet. Limit exposure of the affected software until one is available.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-34246 being exploited?
There is no known exploitation of CVE-2026-34246 in the wild and no public exploit code.
Sources
Also known as GHSA-wpqj-xwhq-2mmh.