Skip to main content

CtrlPanel EUVDEUVD-2026-30993

| CVE-2026-34358 HIGH
Improper Access Control (CWE-284)
2026-05-19 security-advisories@github.com
8.1
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register or authenticate as low-privilege user
  2. Delivery
    Enumerate admin write routes from open-source code
  3. Exploit
    Send crafted POST/PATCH to vulnerable store()/update() endpoint
  4. Execution
    Bypass missing RBAC check in controller
  5. Persist
    Elevate own role or modify credits/server ownership
  6. Impact
    Use new admin privileges for full panel takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must hold a valid authenticated CtrlPanel session on a vulnerable instance (≤1.1.1) but does not need any admin write permission, the login_as permission, or user interaction; the vulnerability is reachable against default configurations because the missing checks are in the controllers themselves rather than gated by an optional feature. Limiting factors: self-registration must be enabled (or the attacker must otherwise obtain any user-tier account), the instance must be network-reachable to the attacker, and exploitation of the logBackIn() path additionally requires that an admin has an active 'Login as User' impersonation session to interfere with. No specific platform, PHP/Laravel version, or non-default setting is required.

Impact

The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N (8.1 High) correctly reflects a network-reachable, low-complexity, low-privilege attack with no user interaction yielding high confidentiality and integrity impact and no availability impact - consistent with full takeover via direct API calls by any logged-in user. There is no EPSS score, KEV listing, or public POC provided in the inputs, so real-world exploitation is currently unproven; however the bug is trivially reachable by anyone with a registered account, which on a public hosting-provider portal is effectively the entire user base, making the practical exploitability ceiling far higher than PR:L alone suggests. The constraint is that an attacker must hold a valid (non-admin) authenticated session, so exposure scales with how open self-registration is on a given deployment. No conflicting signals were identified; the primary unknown is whether any in-the-wild abuse has occurred, since the only references are the GitHub Security Advisory and the 1.2.0 release.

Exploit ScenarioDerived

An attacker registers (or already holds) an ordinary CtrlPanel user account, obtains the session cookie or API token from the normal login flow, and issues a direct POST to /admin/users/{id} setting their own role to admin or PATCHes their own credits balance. With no public POC identified, exploitation would currently require an attacker to craft the requests from the controller routes documented in the advisory, but the request shapes are trivial because the form templates are still accessible to admins and the field names are visible in the open-source codebase.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 19, 2026

Privilege escalation in CtrlPanel hosting billing software (versions ≤1.1.1) allows any authenticated low-privilege user to invoke admin write endpoints because store()/update() controller methods omit the RBAC permission checks present on their corresponding form-display methods. Successful exploitation yields effective admin control over API credentials, coupons, vouchers, partner commissions, shop pricing, server ownership, and user accounts (including roles, credits, passwords, and Pterodactyl linkages). No public exploit identified at time of analysis, and the issue is not listed in CISA KEV.

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 per advisory GHSA-pxmw-gj52-9p68. Until the upgrade is applied, operators should disable open user self-registration so that only trusted accounts can authenticate (this blocks reachability but breaks the normal customer signup flow), restrict access to the /admin/* API routes at the reverse proxy or WAF to known admin IP ranges (this protects the write endpoints but will also block legitimate admin work from other networks), and audit ActivityLog, Coupon, Voucher, Partner, ShopProduct, User, and Server tables for unauthorized rows or modifications before opening the portal again. Note that route-level proxy blocking is a coarse mitigation: the vulnerable endpoints share URL prefixes with legitimate read endpoints, so verify allow/deny rules carefully to avoid breaking the admin UI.

Affected VersionsENISA

panel < 1.2.0

Affected Packages

euvd panel fix: 1.2.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CtrlPanel is a Laravel-based open-source billing and user portal for hosting providers, commonly fronting Pterodactyl game-server panels. The flaw is a classic CWE-284 (Improper Access Control) pattern in which authorization is enforced at the GET/edit/create routes but not on the corresponding POST/PATCH state-changing handlers. Affected controllers explicitly named in the advisory are ApplicationApiController, CouponController, PartnerController, ShopProductController, UsefulLinkController, VoucherController (missing checks on both store() and update()), and ProductController, ServerController, UserController (missing checks on update() and related state-change actions such as change_owner, change_identifier, change_email, change_credits, change_password, change_role, change_ptero, change_serverlimit). ActivityLogController additionally shipped empty stub store()/update() methods that silently accepted requests, and the logBackIn() flow lacked the login_as permission gate, enabling interference with admin impersonation sessions.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

Primary rating from Vendor (github) · only source for this CVE.

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
May 19, 2026 - 23:02 EUVD

DescriptionCVE.org

CtrlPanel is open-source billing software for hosting providers. Versions 1.1.1 and prior contains a broken access control vulnerability where multiple admin controllers enforce permission checks on form display methods but omit equivalent checks on the corresponding write methods, allowing any authenticated user to bypass RBAC via direct POST/PATCH requests. Controllers missing checks on write methods store() and update() include ApplicationApiController (admin.api.write), CouponController (admin.coupons.write), PartnerController (admin.partners.write), ShopProductController (admin.store.write), UsefulLinkController (admin.useful_links.write), and VoucherController (admin.voucher.write); ProductController (admin.products.edit), ServerController (write/change_owner/change_identifier), and UserController (write/change_email/change_credits/change_username/change_password/change_role/change_referral/change_ptero/change_serverlimit) are missing checks on update() only, and ActivityLogController exposed empty stub store()/update() methods that silently accepted any request. An authenticated attacker without admin write privileges can issue API credentials, generate unlimited coupons and vouchers, assign arbitrary partner commission and discount rates, alter shop product pricing and limits, reassign server ownership or identifiers, and modify user accounts including roles, credits, passwords, and linked Pterodactyl IDs to achieve full privilege escalation, as well as abuse logBackIn() without the login_as permission to interfere with admin impersonation sessions. This issue has been fixed in version 1.2.0.

Executive ViewAI

Why It Matters

CtrlPanel hosting billing software (versions 1.1.1 and earlier) allows any authenticated user to escalate to administrative privileges. This privilege escalation could enable manipulation of billing data, customer credentials, API keys, and infrastructure assignments, creating direct risk to revenue and customer data security. No public exploit has been identified at this time.

Business Impact: High
Compensating Controls

Implement API gateway rules to block privilege escalation patterns; enforce strict application-layer role-based access control; enable comprehensive audit logging of administrative operations; restrict network access to admin endpoints; monitor for anomalous low-privilege user access to admin functions.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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