CVE-2025-9560CVE-2025-9560是WordPress Colibri Page Builder插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞由WordFence安全团队的研究员发现,于2025年10月11日公开披露。Colibri Page Builder是一款广泛使用的WordPress页面构建器插件,允许用户通过拖放方式创建和定制网站页面。
该漏洞存在于插件的`colibri_newsletter`短代码(shortcode)中,影响所有版本至1.0.334(含)的产品。由于插件对用户输入的属性(attributes)缺乏充分的输入净化(input sanitization)和输出转义(output escaping)处理,攻击者可以在短代码属性中注入恶意的JavaScript代码。这些恶意代码会被持久化存储在WordPress数据库中,每当有用户访问包含该短代码的页面时,注入的脚本就会在受害者浏览器中自动执行。
根据CVSS 3.1评分系统,该漏洞评分为6.4分,属于中危级别。攻击者需要具备贡献者(contributor)级别或更高的WordPress用户权限才能利用此漏洞。虽然利用门槛较高,但由于存储型XSS的特性,一旦恶意脚本被注入,所有访问受影响页面的用户(包括管理员)都可能在不知情的情况下受到攻击,可能导致会话劫持、权限提升、恶意重定向、数据窃取等严重后果。
该漏洞的核心技术原理在于Colibri Page Builder插件在处理`colibri_newsletter`短代码时,未能对用户提供的属性值进行充分的净化和转义处理。
在WordPress中,短代码(shortcode)是一种允许开发者创建自定义宏的机制,用户可以在文章、页面或小工具中通过方括号语法(如[shortcode_name attr="value"])调用。Colibri Page Builder插件注册了`colibri_newsletter`短代码,用于渲染新闻订阅表单。
漏洞的根本原因在于:
1. **输入净化缺失**:插件在解析短代码属性时,未使用WordPress提供的安全函数(如`wp_kses()`、`sanitize_text_field()`、`esc_attr()`等)对用户输入进行过滤,允许包含HTML标签和JavaScript代码的属性值被接受。
2. **输出转义缺失**:当短代码被渲染输出到页面时,插件直接将用户输入的属性值输出到HTML中,未使用`esc_html()`、`esc_attr()`等函数进行转义,导致恶意脚本能够直接在浏览器中执行。
利用方式如下:
1. 攻击者首先获取WordPress站点的贡献者(contributor)级别账户(可通过社会工程、弱口令爆破或购买等方式获得)。
2. 攻击者登录后,创建一篇新文章或页面。
3. 在文章内容中插入包含恶意JavaScript代码的`colibri_newsletter`短代码,例如在某个属性中注入`<script>alert(document.cookie)</script>`或更复杂的payload(如窃取cookie、创建管理员账户等)。
4. 提交文章后,由于存储型XSS的特性,恶意代码被保存到数据库中。
5. 当任何用户(包括管理员)访问该文章页面时,恶意脚本将在其浏览器上下文中执行,可执行窃取会话凭证、发起进一步攻击等操作。