CVE-2025-11819CVE-2025-11819 是 WordPress WP-Thumbnail 插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞由 WordFence 安全团队的安全研究员发现并报告,披露日期为 2025 年 10 月 22 日。该漏洞的 CVSS 3.1 评分为 6.4 分,属于中危级别。
WP-Thumbnail 是一款用于 WordPress 网站的缩略图管理插件,允许用户通过短代码(shortcode)在文章和页面中插入缩略图。该漏洞存在于插件的 'roboshot' 短代码处理逻辑中,由于对用户输入的属性参数缺乏充分的输入净化(input sanitization)和输出转义(output escaping)处理,导致攻击者可以通过精心构造的短代码属性注入恶意 JavaScript 脚本。
该漏洞影响 WP-Thumbnail 插件的所有版本,包括 1.1 及之前的全部版本。由于漏洞的利用需要认证用户(贡献者级别及以上权限),攻击者需要先获取一个具有贡献者权限的 WordPress 账户才能实施攻击。一旦恶意脚本被注入到页面中,任何访问该页面的用户都会自动执行恶意代码,可能导致会话劫持、权限提升、钓鱼攻击、数据窃取等严重后果。
该漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低权限(PR:L),无需用户交互(UI:N),作用域发生变化(S:C),对机密性和完整性有低影响,对可用性无影响。这表明漏洞虽然需要一定权限才能利用,但其影响范围可能跨越安全边界,波及其他用户。
该漏洞的根本原因在于 WP-Thumbnail 插件在处理 'roboshot' 短代码时,未对用户通过短代码属性传入的参数进行充分的输入验证和输出转义。具体技术细节如下:
1. **短代码注册机制**:WP-Thumbnail 插件通过 WordPress 的 add_shortcode() 函数注册了 'roboshot' 短代码。当用户在文章或页面内容中插入类似 [roboshot attribute="value"] 的短代码时,WordPress 核心会调用插件注册的回调函数来处理这些参数。
2. **输入净化缺失**:插件在处理短代码属性时,未调用 WordPress 提供的安全函数如 wp_kses()、sanitize_text_field()、esc_attr() 等对用户输入进行净化处理。攻击者可以在属性值中注入 HTML 标签和 JavaScript 代码。
3. **输出转义缺失**:即使输入阶段未做净化,如果在输出阶段使用 esc_html()、esc_attr() 等转义函数也可以有效防止 XSS。但该插件在输出短代码内容时直接将用户输入的原始数据输出到 HTML 页面中,未进行任何转义处理。
4. **存储型 XSS 触发流程**:攻击者利用贡献者级别权限撰写包含恶意短代码的文章或页面,内容保存到数据库中。当普通用户或管理员访问包含该短代码的页面时,恶意脚本将在受害者浏览器中执行。
5. **权限要求**:利用此漏洞需要至少贡献者级别的 WordPress 权限。贡献者可以创建和编辑自己的文章,但通常无法发布。然而,一旦文章被管理员审核并发布,恶意脚本将对所有访问者生效。