CVE-2025-9856CVE-2025-9856是WordPress Popup Builder插件中的一个存储型跨站脚本(Stored XSS)漏洞。该插件是用于创建高转化率、适合移动设备营销弹窗的流行工具,在WordPress官方插件目录中拥有大量安装。漏洞源于插件的sg_popup短代码功能对用户提供的属性参数缺乏充分的输入清理和输出转义处理。攻击者利用此漏洞可以通过在短代码中注入恶意JavaScript脚本,当其他用户访问包含该短代码的页面时,注入的脚本将在受害者浏览器中执行,可能导致会话劫持、敏感信息窃取、网页篡改等安全问题。由于漏洞属于存储型XSS,恶意代码会永久保存在数据库中,影响所有访问被污染页面的用户。攻击需要具备贡献者级别(Contributor)或更高的WordPress用户权限。
漏洞存在于Popup Builder插件处理sg_popup短代码的方式中。当用户在页面或文章中插入类似[sg_popup id="1"]的短代码时,插件会从数据库中读取对应的弹窗配置并渲染输出。问题关键在于插件在接受短代码属性参数时,仅进行了表面验证而未进行严格的安全过滤。在文件popup-builder/tags/4.4.0/com/classes/popups/SGPopup.php第1368行及相关代码中,插件直接将用户可控的属性值输出到HTML页面,而没有对其进行适当的HTML实体编码或白名单验证。攻击者可以通过构造恶意属性值,如[sg_popup id="1" onmouseover="alert(document.cookie)"],将JavaScript代码注入页面。由于这些数据被存储在数据库中,属于存储型XSS漏洞。漏洞的利用需要攻击者至少拥有WordPress贡献者角色,该角色通常可以创建和编辑文章但无法发布,从而降低了攻击门槛。