CVE-2025-12964CVE-2025-12964是WordPress的Magical Products Display插件中的一个存储型跨站脚本(Stored XSS)安全漏洞。该插件是一款广泛应用于WordPress网站的产品展示工具,用于创建和管理产品展示界面。漏洞存在于插件的MPD Pricing Table(小部件)功能中,具体问题出在对用户输入的HTML标签参数(mpdpr_title_tag和mpdpr_subtitle_tag)缺乏充分的输入清理和输出转义处理。攻击者利用此漏洞可以在WordPress网站上注入恶意JavaScript代码。由于该插件的广泛使用,攻击者可能通过社会工程学手段诱导网站管理员访问包含恶意脚本的页面,从而窃取管理员会话cookie、劫持管理员账户,甚至进一步控制整个WordPress网站。漏洞影响所有版本至1.1.29版本,CVSS评分6.4,属于中等严重程度。攻击者需要拥有WordPress网站的Contributor级别或更高权限才能利用此漏洞,这降低了漏洞被利用的风险,但并未完全消除威胁。建议网站管理员立即更新插件到最新版本,并审查所有使用Pricing Table功能的页面。
该漏洞的根本原因在于Magical Products Display插件的pricing-table.php文件中对HTML标签参数的处理不当。问题代码位于插件的widgets目录中,具体在处理mpdpr_title_tag和mpdpr_subtitle_tag参数时,插件直接使用用户提供的值作为HTML标签名称,而没有进行适当的输入验证和输出编码。攻击者可以通过构造特殊的输入来绕过基本的安全检查,例如使用事件处理器属性如onerror、onload等嵌入JavaScript代码。当其他用户访问包含恶意代码的页面时,浏览器会解析并执行这些注入的脚本。漏洞的技术细节显示,问题代码在第2149行和第2167行附近直接输出了未经过滤的用户输入。由于WordPress的权限模型中Contributor角色可以创建和编辑文章/页面,攻击者可以利用这一权限在合法内容中嵌入恶意代码。此外,由于是存储型XSS,恶意代码会被永久保存在数据库中,每次页面加载时都会执行。攻击者可以利用此漏洞窃取会话令牌、执行任意操作或重定向用户到恶意网站。