CVE-2025-11880CVE-2025-11880是WordPress平台上SM CountDown Widget插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞由Wordfence安全团队的研究员发现并报告,CVSS评分为6.4分,属于中危级别漏洞。该漏洞影响SM CountDown Widget插件1.2及以下所有版本,由于插件在处理smcountdown短代码(shortcode)时,对用户输入的属性参数缺乏充分的输入净化(input sanitization)和输出转义(output escaping)处理,导致恶意攻击者可以在页面中注入任意JavaScript代码。
该漏洞的攻击前提是攻击者需要拥有WordPress网站的贡献者(contributor)级别或以上的认证权限。攻击者可以通过在文章或页面中插入包含恶意脚本的短代码来利用此漏洞,一旦页面被保存,这些恶意脚本将永久存储在网站的数据库中。每当有合法用户(包括管理员)访问包含恶意代码的页面时,存储的恶意脚本将在用户浏览器中自动执行,从而实现会话劫持、Cookie窃取、权限提升、网站篡改或恶意重定向等攻击行为。
由于该漏洞属于存储型XSS,其危害程度远高于反射型XSS。攻击者注入的恶意代码会持续影响所有访问受感染页面的用户,且不需要特定的用户交互即可触发。该漏洞的影响范围包括机密性影响(低)和完整性影响(低),但可用性不受影响。考虑到WordPress插件生态系统的广泛使用,以及该漏洞利用门槛较低(仅需贡献者权限),建议使用该插件的网站管理员及时采取修复措施。
该漏洞的核心问题在于SM CountDown Widget插件的短代码(shortcode)处理函数中,对用户通过短代码属性传入的参数没有进行充分的输入验证和输出转义。在WordPress插件开发中,短代码是一种允许用户在文章和页面中插入动态内容的机制,用户可以通过属性参数自定义短代码的行为。
具体而言,当插件注册smcountdown短代码时,其回调函数直接接收并使用用户提供的属性值,而没有使用WordPress提供的安全函数(如esc_attr()、esc_html()、wp_kses()等)对这些值进行转义或过滤。攻击者可以构造包含恶意JavaScript代码的短代码属性,例如:[smcountdown title="<script>alert('XSS')</script>"],当WordPress渲染包含此短代码的文章时,恶意脚本会被原样输出到HTML页面中,并在用户浏览器中执行。
漏洞的利用路径如下:
1. 攻击者使用贡献者级别账户登录WordPress后台;
2. 攻击者创建新文章或页面,在内容中插入精心构造的smcountdown短代码,包含恶意JavaScript负载;
3. 提交文章审核(贡献者创建的文章通常需要审核才能发布);
4. 一旦文章被发布或审核通过,恶意代码将永久存储在数据库中;
5. 当任何用户(包括管理员)访问该页面时,恶意脚本将在其浏览器中执行。
由于CVSS向量中包含S:C(Scope Changed),表明该漏洞的影响范围超出了受攻击组件本身,恶意代码可能在更高权限的上下文中执行,从而造成更大的危害。