CVE-2025-12096Simple Excel Pricelist for WooCommerce是WordPress的一个插件,用于通过Excel文件创建和管理WooCommerce产品价格表。该插件在1.13及以下所有版本中存在存储型跨站脚本(XSS)漏洞,根源在于插件的'pricelist'短代码处理功能对用户提供的属性参数缺乏充分的输入 sanitization(消毒)和输出 escaping(转义)机制。攻击者利用此漏洞可以注入恶意JavaScript代码,这些代码会被永久存储在数据库中。当其他用户访问包含恶意代码的页面时,注入的脚本会自动执行,可能导致会话劫持、敏感信息窃取、管理权限滥用等严重安全风险。由于该漏洞为存储型XSS,其危害性高于反射型XSS,恶意代码会持续存在于系统中直到被发现和清除。
漏洞存在于插件处理[pricelist]短代码的过程中。当用户通过短代码属性传递参数时,插件未能对用户输入进行有效的HTML实体转义。具体而言,攻击者可以在短代码属性中嵌入恶意JavaScript脚本,如:<script>alert(document.cookie)</script>或<img src=x onerror=恶意代码>。这些未经过滤的输入被直接存储到WordPress数据库中,并在页面渲染时未经转义直接输出到HTML页面中。由于WordPress的 Contributor 角色及以上用户都具有使用短代码的权限,攻击者可以轻松利用这一弱点进行持久性攻击。漏洞代码位置位于 classes/sepwWorker.php 第176行附近,插件在该处直接输出用户控制的属性值而未调用esc_html()或esc_attr()等安全函数进行转义。修复方案需要在输出前对所有用户输入进行HTML实体编码,确保任何HTML标签和JavaScript代码都被无害化处理。