CVE-2025-11823CVE-2025-11823是WordPress插件ShopLentor(又称WooLentor)中存在的存储型跨站脚本(Stored XSS)漏洞。该插件是一款流行的WooCommerce页面构建器,为Elementor和Gutenberg编辑器提供了21个以上的模块功能。漏洞根源在于插件的wishsuite_button短代码功能中,对button_exist_text参数的用户输入缺乏充分的输入清理(sanitization)和输出转义(output escaping)。攻击者只需拥有WordPress网站的Contributor级别权限(低权限角色),即可在包含该短代码的页面中注入任意JavaScript脚本。由于漏洞属于存储型XSS,恶意脚本会被永久保存在数据库中,当其他用户访问被注入的页面时,恶意代码会自动执行,可能导致会话劫持、凭据窃取、管理员权限滥用等严重后果。此漏洞影响范围广泛,涉及所有版本至3.2.4的插件安装。
漏洞存在于ShopLentor插件的wishlist模块中,具体位置为includes/modules/wishlist/includes/classes/Frontend/Shortcode.php文件第107行附近。该短代码处理函数在接收button_exist_text参数时,直接将该参数值嵌入到HTML输出中,未经过WordPress安全函数如esc_html()、esc_attr()或sanitize_text_field()的适当处理。攻击者可以通过以下方式利用此漏洞:首先,攻击者以Contributor或更高权限用户身份登录WordPress后台,在文章或页面编辑器的短代码块中添加[wishsuite_button button_exist_text='"><script>alert(document.cookie)</script>']这样的恶意payload。由于该参数值被直接存储且未经转义,当其他用户访问包含该短代码的页面时,浏览器会将其解析为可执行脚本。漏洞的技术关键点包括:1) 缺乏输入验证和清理;2) 缺乏输出转义;3) 短代码属性直接拼接到HTML;4) 存储型特性使攻击具有持久性。修复方案需在Shortcode.php的渲染逻辑中添加完整的输入清理和输出转义。