Skip to main content

CtrlPanel CVE-2026-34241

| EUVDEUVD-2026-30987 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-05-19 GitHub_M
8.7
CVSS 3.1 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
8.7 HIGH
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

3
Patch available
May 19, 2026 - 22:02 EUVD
Source Code Evidence Fetched
May 19, 2026 - 22:00 vuln.today
Analysis Generated
May 19, 2026 - 22:00 vuln.today

DescriptionGitHub Advisory

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.

AnalysisAI

Stored cross-site scripting in CtrlPanel (versions ≤1.1.1) allows a low-privileged ticket participant to inject arbitrary JavaScript into reply notifications that execute in the recipient's browser when rendered via Blade's unescaped {!! !!} directive. Because notifications flow bidirectionally between users and admins, a regular user can hijack an admin session - yielding privilege escalation across a scope-changed (S:C) trust boundary - and a malicious admin can pivot back to target users. No public exploit identified at time of analysis and the issue is not listed in CISA KEV, but the attack path is straightforward given an authenticated low-privileged account and an admin reading the ticket queue.

Technical ContextAI

CtrlPanel is a PHP/Laravel-based open-source billing and management panel for hosting providers (CPE: cpe:2.3:a:ctrlpanel-gg:panel). The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): the $newmessage variable from a ticket reply is persisted into the notifications table payload without sanitization, and the corresponding Blade notification template renders that payload using {!! $variable !!} - Laravel's explicit raw-output syntax that bypasses the default HTML escaping {{ }} provides. Both App\Notifications\Ticket\Admin\AdminReplyNotification and App\Notifications\Ticket\User\ReplyNotification share the same unsafe rendering pattern, making the flaw symmetric across user→admin and admin→user notification flows.

RemediationAI

Vendor-released patch: upgrade to CtrlPanel 1.2.0 or later, available at https://github.com/Ctrlpanel-gg/panel/releases/tag/1.2.0; this is a major release bundling 10 months of changes including a license shift to MPL 2.0, so review the release notes and blog post (https://ctrlpanel.gg/blog/1.2.0-release) before deploying to production. If an immediate upgrade is not possible, temporarily disable the ticket reply feature or restrict ticket creation to trusted users only, accepting the support-workflow disruption that implies; an interim hot-patch is to edit the two Blade notification templates to replace {!! $newmessage !!} with the escaped {{ $newmessage }} form, which preserves notifications while neutralizing HTML/JS injection at the rendering layer. Admins should also rotate session cookies and audit recent administrative actions on instances that were exposed prior to patching.

More in Panel

View all
CVE-2024-5960 CRITICAL
9.8 Sep 18

Plaintext Storage of a Password vulnerability in Eliz Software Panel allows : Use of Known Domain Credentials.3.24. Rate

CVE-2026-33746 CRITICAL
9.8 Apr 02

JWT signature verification bypass in ConvoyPanel 3.9.0-beta through 4.5.0 allows unauthenticated remote attackers to for

CVE-2024-6877 CRITICAL
9.4 Sep 18

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Eliz Softwa

CVE-2024-5958 CRITICAL
9.4 Sep 18

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in Eliz Software Pane

CVE-2017-16807 MEDIUM POC
5.4 Nov 13

A cross-site Scripting (XSS) vulnerability in Kirby Panel before 2.3.3, 2.4.x before 2.4.2, and 2.5.x before 2.5.7 exist

CVE-2024-5959 CRITICAL
9.3 Sep 18

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Eliz Softwa

CVE-2020-26255 CRITICAL
9.1 Dec 08

Kirby is a CMS. Rated critical severity (CVSS 9.1), this vulnerability is remotely exploitable, low attack complexity. T

CVE-2026-26016 HIGH
8.1 Feb 19

Missing authorization validation in Pterodactyl Wings prior to version 1.12.1 allows authenticated nodes to access and m

CVE-2021-41129 HIGH
8.1 Oct 06

Pterodactyl is an open-source game server management panel built with PHP 7, React, and Go. Rated high severity (CVSS 8.

CVE-2019-1020002 HIGH
7.5 Jul 29

Pterodactyl before 0.7.14 with 2FA allows credential sniffing. Rated high severity (CVSS 7.5), this vulnerability is rem

CVE-2025-69198 MEDIUM
6.5 Jan 19

Pterodactyl is a free, open-source game server management panel. Pterodactyl implements rate limits that are applied to

CVE-2026-34233 MEDIUM
6.5 May 19

CtrlPanel versions 1.1.1 and prior expose administrative DataTable endpoints without enforcing admin-level authorization

Share

CVE-2026-34241 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy