CVE-2025-13418Responsive Pricing Table是WordPress平台上一款流行的响应式定价表插件,允许用户创建美观的定价对比页面。该插件在5.1.12及之前的所有版本中存在严重的存储型跨站脚本(Stored XSS)漏洞。漏洞根源在于插件对用户输入的'plan_icons'参数缺乏充分的输入消毒和输出转义处理。攻击者只需拥有Author(作者)级别或更高的WordPress账号权限,即可利用此漏洞在包含定价表内容的页面中注入任意JavaScript代码。由于该脚本会被永久存储在数据库中,任何访问被注入页面的用户都会自动执行恶意代码,可能导致会话劫持、凭据窃取、重定向至钓鱼网站等严重后果。此漏洞的CVSS评分为6.4,属于中危级别,但实际危害程度取决于被注入页面的访问量。
漏洞存在于插件处理'plan_icons'参数的函数中。当用户在插件设置页面输入图标标识符时,插件直接将用户输入存储到数据库,未进行任何HTML特殊字符转义处理。随后在页面渲染时,这些未转义的数据被直接输出到HTML中。具体攻击流程如下:1)攻击者以Author权限登录WordPress后台;2)导航至插件的定价表编辑页面;3)在'plan_icons'字段中注入恶意JavaScript代码,如<img src=x onerror=alert(document.cookie)>;4)保存设置后,恶意代码被写入数据库;5)当其他用户访问包含该定价表的页面时,浏览器会解析并执行注入的脚本。由于WordPress的权限体系中Author角色通常可以创建和编辑页面/文章,因此攻击门槛相对较低。修复方案应在存储前对用户输入进行htmlspecialchars()或类似函数转义,并在输出时再次进行转义处理。