{"id":"CVE-2026-34246","summary":"CtrlPanel: Stored XSS in Admin Role Management via Unescaped DataTable HTML Output","details":"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-\u003ename and $role-\u003ecolor directly into a \u003cspan\u003e 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 \u003cimg src=x onerror=\"alert('XSS_POC')\"\u003e 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.","aliases":["GHSA-wpqj-xwhq-2mmh"],"modified":"2026-07-08T08:12:41.220169881Z","published":"2026-05-19T21:18:10.081Z","database_specific":{"cwe_ids":["CWE-116","CWE-80"],"cna_assigner":"GitHub_M","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34246.json"},"references":[{"type":"WEB","url":"https://github.com/Ctrlpanel-gg/panel/releases/tag/1.2.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34246.json"},{"type":"ADVISORY","url":"https://github.com/Ctrlpanel-gg/panel/security/advisories/GHSA-wpqj-xwhq-2mmh"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-34246"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/ctrlpanel-gg/panel","events":[{"introduced":"0"},{"fixed":"b3bd1ed50b9f50b76797d09609980fdb4ae70252"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.2.0"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["1.1.1","1.1","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0","0.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-34246.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N"}]}