CVE-2025-11813CVE-2025-11813是WordPress平台上Responsive iframe GoogleMap插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该插件允许用户在WordPress页面中嵌入可自适应大小的Google Map iframe,广泛应用于需要在网站中展示地图内容的WordPress站点。
该漏洞由Wordfence安全团队的研究员发现,并于2025年10月22日公开披露。漏洞的CVSS 3.1评分为6.4分,属于中危级别。漏洞存在于插件的'responsive_map'短代码(shortcode)的实现中,具体涉及'width'(宽度)和'height'(高度)两个属性的处理逻辑。由于插件在处理用户输入时缺乏充分的数据清理(sanitization)和输出转义(output escaping),攻击者可以在这些属性中注入恶意的JavaScript代码。
该漏洞的影响范围包括所有1.0.2及以下版本的Responsive iframe GoogleMap插件。由于WordPress插件生态的广泛使用,受影响的网站数量可能较多。值得注意的是,该漏洞的利用需要攻击者拥有至少贡献者(contributor)级别的认证权限,这意味着未授权的匿名攻击者无法直接利用此漏洞,但拥有低权限账户的恶意用户(如被入侵的贡献者账户)可以利用此漏洞实施进一步攻击。
该漏洞的技术根源在于Responsive iframe GoogleMap插件在处理'responsive_map'短代码时,对'width'和'height'属性的输入验证不足。
在WordPress插件开发中,短代码(shortcode)是一种允许用户通过简单的标签语法在文章或页面中插入动态内容的机制。当插件注册'responsive_map'短代码时,通常会通过回调函数解析用户提供的属性值。
漏洞产生的具体技术原因如下:
1. **输入清理不足**:插件在接收用户通过短代码传入的'width'和'height'参数时,未使用WordPress提供的安全函数(如wp_kses()、esc_attr()、sanitize_text_field()等)对输入进行过滤和清理,导致恶意脚本代码可以原样保存到数据库中。
2. **输出转义缺失**:当页面被访问时,插件在渲染短代码输出时,未对'width'和'height'属性值进行适当的HTML属性转义(如使用esc_attr()函数),使得注入的JavaScript代码能够在浏览器中执行。
3. **存储型攻击机制**:由于是存储型XSS,恶意代码会持久化存储在WordPress数据库中,每当有用户访问包含被注入短代码的页面时,恶意脚本就会自动执行,无需受害者进行任何额外交互(UI:N)。
攻击利用方面,拥有贡献者级别及以上权限的攻击者可以创建一个新的文章或页面,在其中插入包含恶意JavaScript的'responsive_map'短代码。当该页面被发布后,任何访问该页面的用户(包括管理员)都会执行注入的恶意脚本,可能导致会话劫持、权限提升、恶意重定向或敏感信息窃取等后果。