CVE-2026-6127WordPress Elementor Website Builder插件在4.0.4及之前版本中存在存储型跨站脚本(XSS)漏洞。该漏洞源于插件在处理表单编码的REST API请求时,对`_elementor_data`元字段输入清理不足。尽管该字段在REST API中注册,但缺少清理回调,且依赖的过滤器仅处理JSON编码的请求体。具有投稿者及以上权限的认证攻击者可利用此漏洞,通过发送特制的表单编码PATCH请求绕过清理机制,注入恶意Web脚本。当用户访问被注入的页面时,脚本将被执行,从而危及网站安全。
该漏洞的核心在于WordPress Elementor插件对REST API请求体处理逻辑的缺陷。插件将`_elementor_data`元字段注册为`show_in_rest`,但未指定`sanitize_callback`,而是依赖`rest_pre_insert_post`过滤器中的`sanitize_post_data`函数进行数据清洗。然而,该函数仅当请求体被成功`json_decode`为JSON对象时才执行清理逻辑。当攻击者发送`Content-Type: application/x-www-form-urlencoded`的PATCH请求时,`json_decode`对原始请求体解析失败返回`null`,导致清理逻辑被完全跳过。未经过滤的数据随后通过`update_post_meta()`直接存入数据库。当页面被渲染时,HTML小部件等组件通过`print_unescaped_setting()`函数直接输出存储的数据,且未进行转义,导致攻击者注入的JavaScript代码在管理员或其他用户浏览页面时触发,可能造成会话劫持或恶意操作。