CVE-2025-12957CVE-2025-12957是WordPress平台下All-in-One Video Gallery插件的一个高危安全漏洞。该漏洞存在于插件的4.5.7及之前所有版本中,源于不充分的文件类型验证机制。具体而言,插件对VTT(Video Text Tracks)文件的验证存在缺陷,允许攻击者利用双扩展名文件(如shell.php.vtt)绕过安全检查,将恶意文件上传至服务器。由于VTT文件通常被允许上传以提供视频字幕功能,攻击者可以伪装恶意代码为合法的字幕文件。一旦恶意文件成功上传,攻击者即可通过访问上传的文件执行任意代码,实现对网站的完全控制。此漏洞需要攻击者具备作者级别(Author)或更高的WordPress用户权限,属于低权限认证攻击场景,但无需任何用户交互即可发起攻击。
该漏洞的核心问题在于All-in-One Video Gallery插件的文件上传验证逻辑存在缺陷。插件在处理VTT字幕文件时,仅检查文件扩展名是否为.vtt,但未对文件内容进行充分验证。攻击者可以构造带有双扩展名的恶意文件(如malicious.php.vtt或shell.jpg.vtt),利用文件类型检测的漏洞绕过服务器端的安全检查。具体利用过程如下:1)攻击者首先获取WordPress网站的作者账户权限;2)构造包含恶意PHP代码的VTT文件(如将PHP webshell写入文件并命名为shell.php.vtt);3)通过插件的上传接口上传该文件,由于插件仅验证.vtt扩展名,恶意文件被当作合法字幕文件接受;4)上传成功后,攻击者通过直接访问上传的文件路径执行其中的恶意代码。由于WordPress的媒体上传功能通常允许上传VTT文件,且该插件未对上传文件进行二次验证(如MIME类型检测、内容分析),导致攻击者可以成功绕过安全限制,实现远程代码执行。