CVE-2025-12352CVE-2025-12352是WordPress平台中极为严重的任意文件上传漏洞,影响Gravity Forms插件2.9.20及之前所有版本。该漏洞由Wordfence安全团队发现并报告,漏洞成因是copy_post_image()函数在处理文件上传时缺少必要的文件类型验证机制。攻击者无需任何认证凭证即可利用此漏洞,在目标服务器上上传任意恶意文件。由于该漏洞可能导致远程代码执行,被评为CVSS 9.8分,属于严重级别。值得注意的是,此漏洞的利用需要特定条件配合:服务器需开启allow_url_fopen配置,且网站需启用文章创建表单并包含文件上传字段。尽管存在这些限制条件,但由于Gravity Forms作为WordPress最流行的表单插件之一,被广泛应用于各类网站,因此该漏洞的潜在影响范围仍然非常广泛。攻击者一旦成功利用,可完全控制受影响的WordPress站点,执行任意系统命令,安装后门程序,窃取敏感数据,甚至将网站作为进一步攻击的跳板。
该漏洞位于Gravity Forms插件的copy_post_image()函数中,具体代码位置在forms_model.php文件的第5451行附近。漏洞的根本原因是函数在处理用户上传的文件时,仅检查了文件是否成功上传,但未对上传文件的MIME类型、扩展名和内容进行严格验证。正常情况下,文件上传功能应该包含以下安全检查:验证文件扩展名白名单、检查Content-Type头、验证文件魔数(Magic Bytes)、限制上传文件大小等。然而,copy_post_image()函数缺少这些关键验证步骤。攻击者可以构造包含恶意代码的文件(如PHP webshell),通过表单的文件上传字段上传到服务器。在allow_url_fopen启用的情况下,攻击者甚至可以直接从远程URL包含恶意代码。当文件被成功上传到服务器后,攻击者只需访问该文件的URL即可触发执行,实现远程代码执行。此外,文件上传字段处理逻辑(class-gf-field-fileupload.php第306行附近)同样存在验证不足的问题,进一步加剧了漏洞的严重性。攻击者可以利用WordPress的媒体上传功能或自定义表单字段上传.php、.phtml、.phar等可执行文件类型的恶意脚本。