CVE-2025-12673Flex QR Code Generator是WordPress平台上一款流行的二维码生成插件,在全球范围内有大量安装使用。该插件在1.2.7及以下所有版本中存在严重的任意文件上传漏洞,漏洞位于update_qr_code()函数中。由于该函数缺少对上传文件类型的有效验证,未经身份验证的远程攻击者可以向目标服务器上传任意文件类型,包括恶意PHP脚本和webshell。成功利用此漏洞可导致远程代码执行,使攻击者完全控制受影响的WordPress网站,窃取敏感数据、植入后门或进行进一步的内网渗透。此漏洞无需任何用户交互或认证,攻击门槛极低,CVSS评分高达9.8,属于紧急处理的安全事件。
漏洞根源在于Flex QR Code Generator插件的update_qr_code()函数(第457行)未对用户上传的文件进行充分的类型验证。正常情况下,该函数应接收用户上传的QR码图片并保存到服务器指定目录,但开发者未实现MIME类型检测、文件扩展名白名单或文件内容签名验证等安全措施。攻击者可以通过构造恶意HTTP POST请求,直接将.php文件(webshell)作为QR码图片上传至服务器。由于WordPress插件目录通常具有可执行权限,上传的PHP文件可直接被Web服务器解析执行,从而实现远程代码执行。攻击者通常会上传包含system()、exec()等命令执行函数的PHP脚本,达成命令执行、数据库连接或文件管理等功能。漏洞影响插件所有版本至1.2.7,官方已在1.2.8版本中修复。