CVE-2025-11241CVE-2025-11241是WordPress流行的SEO插件Yoast SEO Premium中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞由WordPress安全公司Wordfence的安全研究人员发现并报告,CVSS评分为6.4,属于中危级别。
该漏洞存在于Yoast SEO Premium插件的25.7至25.9版本中,根本原因在于插件用于清理文章内容中某个属性的正则表达式存在缺陷。攻击者可以利用这个有缺陷的正则表达式绕过过滤机制,向文章内容中注入任意HTML属性,包括JavaScript事件处理器(如onerror、onload、onmouseover等)。
由于该漏洞为存储型XSS,恶意载荷会持久化存储在目标网站的数据库中,每当有用户访问包含恶意内容的页面时,恶意脚本就会自动执行。这使得该漏洞具有广泛的攻击面和持久性的危害。值得注意的是,该漏洞允许具有Contributor(投稿者)权限或更高权限的用户创建包含恶意JavaScript载荷的文章,这意味着即使是低权限用户也可能利用此漏洞发起攻击。
成功利用此漏洞的攻击者可以在受害者浏览器中执行任意JavaScript代码,可能导致会话劫持、cookie窃取、权限提升、恶意重定向、钓鱼攻击或其他客户端攻击。由于CVSS向量中包含S:C(Scope Changed),表明该漏洞的影响范围会超出受影响的组件本身,可能影响到整个WordPress站点及其用户。
该漏洞的核心问题在于Yoast SEO Premium插件在处理文章内容时,使用了一个有缺陷的正则表达式来移除某个特定的HTML属性。攻击者可以通过构造特殊的HTML标签内容,绕过该正则表达式的匹配逻辑,从而保留恶意属性。
具体技术原理如下:
1. 插件在保存或显示文章内容时,会尝试通过正则表达式移除某个不需要的HTML属性(可能是class、style或其他属性)。
2. 该正则表达式存在缺陷,可能存在以下问题之一:
- 正则表达式未正确处理多行内容
- 正则表达式对属性值的引号处理不当
- 正则表达式可以被嵌套标签结构绕过
3. 攻击者可以构造如下形式的恶意载荷:
- 在HTML标签中注入额外的属性,如`onerror`、`onclick`、`onmouseover`等事件处理器
- 利用正则表达式的贪婪/非贪婪匹配缺陷,在被过滤的属性中嵌入恶意属性
4. 当其他用户(特别是管理员)查看包含恶意内容的文章时,浏览器会解析并执行嵌入的JavaScript代码。
5. 由于该漏洞需要Contributor权限及以上才能利用,攻击链通常包括:
- 攻击者注册WordPress站点或获取低权限账户
- 创建包含恶意XSS载荷的文章并提交
- 等待管理员审核或查看该文章
- 管理员的浏览器执行恶意脚本,攻击者获取管理员权限或窃取敏感信息
该漏洞已在Yoast SEO Premium 26.0版本中修复,开发者改进了正则表达式的逻辑,正确处理了各种边界情况。