Skip to content
Heist/ feed
Back to feed
High

CtrlPanel: Stored XSS in Ticket Reply Notifications Allows Session Hijacking

Type: advisorySources: OSV

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 source

Published 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"
}