CVE-2025-14842CVE-2025-14842是WordPress插件"Drag and Drop Multiple File Upload – Contact Form 7"中的一个高危安全漏洞。该插件用于为Contact Form 7联系表单添加拖拽多文件上传功能。漏洞源于插件未正确验证和限制上传文件类型,允许攻击者上传.php或.svg等危险文件。在1.3.9.2及之前的所有版本中,插件未能阻止.phar和.svg文件的上传。攻击者可以利用此漏洞上传包含恶意PHP代码的.phar文件,若服务器配置允许.phar文件作为PHP执行,则可实现远程代码执行(RCE)。此外,上传的.svg文件可包含恶意JavaScript代码,在特定条件下导致存储型跨站脚本攻击(XSS)。该漏洞无需认证即可利用,但需要用户交互(如访问包含恶意文件的页面),CVSS评分6.1,属于中等严重级别。
该漏洞的根本原因在于文件上传验证机制不完善。插件在处理文件上传时,仅检查了常见的危险扩展名如.php、.phtml等,但遗漏了.phar(PHP归档文件)和.svg(可缩放矢量图形)文件类型。
对于.phar文件利用:攻击者可以构造包含恶意PHP代码的.phar文件上传到服务器。由于.phar文件本质上是PHP归档格式,服务器如果配置不当(如在nginx或apache中错误地将.phar作为PHP脚本处理),直接访问该文件将导致PHP代码执行,从而实现远程代码执行。攻击者可以利用此漏洞执行系统命令、读取敏感文件或进一步渗透系统。
对于.svg文件利用:SVG是一种XML格式的矢量图形,支持内嵌JavaScript代码。攻击者可以构造包含XSS payload的.svg文件上传到WordPress媒体库或可访问目录。当其他用户访问或浏览器渲染该SVG文件时,恶意JavaScript代码将执行,可窃取Cookie、会话令牌或进行其他恶意操作。
漏洞代码位于inc/dnd-upload-cf7.php文件的第108行和第1116行附近,文件类型检查逻辑存在缺陷,未能覆盖所有危险文件类型。