CtrlPanel: Stored XSS in Ticket Reply Notifications Allows Session Hijacking
CtrlPanel is open-source billing software for hosting providers. Versions 1.1.1 and prior contain a Stored Cross-Site Scripting (XSS) vulnerability in the ticket reply notification system. Unsanitized reply content ($newmessage) is stored directly in database notification payloads and later rendered unescaped via Blade's {!! !!} syntax in the recipient's browser. The flaw exists in both App\Notifications\Ticket\Admin\AdminReplyNotification (triggered when a user replies, targeting admins) and App\Notifications\Ticket\User\ReplyNotification (triggered when an admin replies, targeting users), allowing arbitrary JavaScript execution in the victim's session context. A low-privileged attacker can exploit this to hijack admin sessions, harvest credentials via fake login prompts or keyloggers, and escalate privileges by performing administrative actions on the victim's behalf. The reverse path also enables a malicious or compromised admin to target regular users in the same manner. This issue has been fixed in version 1.2.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-34241
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 13:13 UTC · Revision 1
Source evidence
CtrlPanel: Stored XSS in Ticket Reply Notifications Allows Session Hijacking
core-osv · Original sourcePublished 19 May 2026, 21:09 UTC
CtrlPanel is open-source billing software for hosting providers. Versions 1.1.1 and prior contain a Stored Cross-Site Scripting (XSS) vulnerability in the ticket reply notification system. Unsanitized reply content ($newmessage) is stored directly in database notification payloads and later rendered unescaped via Blade's {!! !!} syntax in the recipient's browser. The flaw exists in both App\Notifications\Ticket\Admin\AdminReplyNotification (triggered when a user replies, targeting admins) and App\Notifications\Ticket\User\ReplyNotification (triggered when an admin replies, targeting users), allowing arbitrary JavaScript execution in the victim's session context. A low-privileged attacker can exploit this to hijack admin sessions, harvest credentials via fake login prompts or keyloggers, and escalate privileges by performing administrative actions on the victim's behalf. The reverse path also enables a malicious or compromised admin to target regular users in the same manner. This issue has been fixed in version 1.2.0.
osv:CVE-2026-34241
Complete source record
{
"id": "41d42088e59c816086facc2018021d5b3c5b33e554678f21e67f637e02971363",
"url": "https://osv.dev/vulnerability/CVE-2026-34241",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CtrlPanel: Stored XSS in Ticket Reply Notifications Allows Session Hijacking",
"summary": "CtrlPanel is open-source billing software for hosting providers. Versions 1.1.1 and prior contain a Stored Cross-Site Scripting (XSS) vulnerability in the ticket reply notification system. Unsanitized reply content ($newmessage) is stored directly in database notification payloads and later rendered unescaped via Blade's {!! !!} syntax in the recipient's browser. The flaw exists in both App\\Notifications\\Ticket\\Admin\\AdminReplyNotification (triggered when a user replies, targeting admins) and App\\Notifications\\Ticket\\User\\ReplyNotification (triggered when an admin replies, targeting users), allowing arbitrary JavaScript execution in the victim's session context. A low-privileged attacker can exploit this to hijack admin sessions, harvest credentials via fake login prompts or keyloggers, and escalate privileges by performing administrative actions on the victim's behalf. The reverse path also enables a malicious or compromised admin to target regular users in the same manner. This issue has been fixed in version 1.2.0.",
"evidence": "osv:CVE-2026-34241",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-34241",
"aliases": [
"CVE-2026-34241",
"GHSA-cmrr-q3hw-3vqh"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/ctrlpanel-gg/panel",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "b3bd1ed50b9f50b76797d09609980fdb4ae70252"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.2.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "b3bd1ed50b9f50b76797d09609980fdb4ae70252"
}
],
"source": "REFERENCES_TAG",
"original_tag": "1.2.0"
}
]
}
}
],
"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-34241.json"
}
}
],
"modified": "2026-10-28T02:30:28.777243750Z",
"provider": "osv",
"references": [
"https://github.com/Ctrlpanel-gg/panel/releases/tag/1.2.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34241.json",
"https://github.com/Ctrlpanel-gg/panel/security/advisories/GHSA-cmrr-q3hw-3vqh",
"https://nvd.nist.gov/vuln/detail/CVE-2026-34241"
],
"provider_metadata": {
"cwe_ids": [
"CWE-79"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34241.json"
}
},
"related_cves": [
{
"value": "CVE-2026-34241",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 495728,
"published_at": "2026-05-19T21:09:14.048+00:00"
}