CVE-2025-14478Demo Importer Plus是WordPress平台上一款流行的演示内容导入插件,允许用户快速导入网站模板和演示数据。该插件在2.0.9及以下所有版本中存在严重的XML外部实体注入(XXE)漏洞,漏洞位于SVG文件上传功能模块中。攻击者利用此漏洞可以读取服务器上的任意文件,包括配置文件、源代码、凭证信息等敏感数据。在特定PHP版本(小于8.0)和服务器配置下,攻击者甚至可以实现远程代码执行,从而完全控制受影响的WordPress网站。此漏洞需要攻击者拥有Author级别或更高的WordPress用户权限,虽然需要认证,但Author级别的账户相对容易通过社会工程或其他方式获取。鉴于该插件的广泛使用和漏洞的严重性,建议所有使用该插件的用户立即采取修复措施。
该漏洞源于Demo Importer Plus插件在处理SVG文件上传时未对XML内容进行充分的输入验证。SVG文件本质上是一种XML格式,攻击者可以在SVG中嵌入恶意DOCTYPE定义和ENTITY声明来触发XXE。漏洞核心代码位于inc/importers/class-demo-importer-plus-sites-helper.php文件的第88行附近。当插件解析上传的SVG文件时,会加载外部实体,攻击者可以通过file://协议读取服务器本地文件,或通过http://协议发起SSRF攻击。在PHP版本低于8.0的服务器上,配合expect://等包装器可实现命令执行。攻击者首先需要准备一个包含XXE payload的恶意SVG文件,通过插件的前台上传接口(如演示预览功能)上传该文件。上传后,插件会解析SVG内容并触发外部实体引用,从而读取目标文件内容或执行任意命令。