漏洞概述
热门 WordPress 表单插件 Forminator 被曝存在严重的任意文件删除漏洞(CVE-2025-6463,CVSS 评分 8.8),全球超过 60 万个活跃安装站点面临风险。该漏洞允许未认证攻击者删除包括 wp-config.php 在内的关键系统文件,可能导致网站完全被接管及远程代码执行。
核心风险点
- Forminator 插件存在无需认证即可触发的任意文件删除漏洞(CVE-2025-6463,CVSS 8.8)
- 当管理员删除或系统自动清理恶意表单提交时,其中包含的任意文件路径将导致指定文件被删除
- 删除 wp-config.php 文件会迫使网站进入安装模式,攻击者可借此完全控制网站
- 请立即升级至 1.44.3 版本——所有≤1.44.2 的版本均受影响
安全研究员 Phat RiO(BlueRock)通过 Wordfence 漏洞赏金计划发现并负责任地披露了该漏洞,获得了该计划迄今为止最高额的 8100 美元奖金。
漏洞技术分析
该漏洞于 2025 年 6 月 20 日首次报告,影响 Forminator 所有版本(包括 1.44.2)。Forminator 是一款流行的 WordPress 表单构建插件,用户可通过拖拽界面创建联系表单、支付表单、测验和投票功能。
安全缺陷源于 entry_delete_upload_files ()函数中的文件路径验证不足,该函数负责处理表单提交数据的删除操作。该漏洞最危险之处在于无需认证即可利用——攻击者可构造包含任意文件路径的恶意表单提交,当这些提交被管理员手动删除或通过插件设置自动清理时,服务器上的指定文件将被永久删除。
最严重的攻击场景是删除 wp-config.php 文件(包含数据库凭证和安全密钥)。该文件被删除后,WordPress 会进入安装状态,攻击者可通过控制数据库完全接管网站。
技术细节显示,漏洞存在于 Forminator_CForm_Front_Action 类的 save_entry_fields ()函数中,该函数未对表单字段值进行充分净化处理。在调用 Forminator_Form_Entry_Model 类的 set_fields ()方法时,序列化元数据未经验证直接存入数据库,使得攻击者能在任何表单字段(包括非文件上传字段)提交文件数组。
根本问题在于 entry_delete_upload_files ()函数缺乏安全检查:漏洞代码会处理所有符合文件数组结构的元数据值,而不验证字段类型、文件扩展名或上传目录限制。该函数使用 wp_delete_file ($path)删除文件,导致攻击者可通过构造类似../../../wp-config.php 的路径删除服务器上任意可写文件。
风险要素 | 详细说明 |
---|---|
受影响产品 | WordPress 表单插件 Forminator(所有≤1.44.2 版本) |
影响程度 | 任意文件删除 |
利用条件 | - 无需认证- 目标网站启用了 Forminator 表单- 具备表单提交能力- 管理员删除或自动清理提交记录 |
CVSS 3.1 评分 | 8. 8(高危) |
修复方案
插件开发商 WPMU DEV 在接到漏洞报告后迅速响应,于 2025 年 6 月 30 日发布的 1.44.3 版本中提供了完整修复方案。该补丁实施了多重防护措施:
- 新增字段类型验证,限制仅"upload"和"signature"字段类型可删除文件
- 使用 wp_normalize_path ()和 realpath ()函数强化上传目录路径限制
- 通过 strpos ()验证确保文件路径位于 WordPress 上传目录内,防止目录遍历攻击
- 在删除前使用 sanitize_file_name ()检查文件基名有效性
强烈建议所有 WordPress 管理员立即升级至 1.44.3 版本,避免遭受此高危漏洞攻击。
参考来源:
Critical WordPress Plugin Vulnerability Exposes 600,000+ Sites to Remote Takeover