CVE-2026-4658WordPress插件Essential Blocks在6.0.4及以下版本中存在存储型XSS漏洞。该漏洞源于Add to Cart块的渲染函数未对className、classHook和blockId等属性进行充分的输出转义。具有贡献者及以上权限的攻击者可利用此漏洞在页面中注入恶意脚本,当用户访问受影响页面时脚本将执行,导致信息泄露或会话劫持。
该漏洞位于Essential Blocks插件的`Add to Cart`块代码中,具体涉及`render_callback()`函数的输出处理逻辑。在渲染该Gutenberg块时,插件虽然对外层div使用了`get_block_wrapper_attributes()`进行属性转义,但在处理内部div的HTML属性时存在疏忽。代码直接使用`sprintf()`和`implode()`将用户输入的`className`、`classHook`和`blockId`属性拼接到`class`和`data-id`属性中,完全未调用WordPress的`esc_attr()`函数进行HTML实体转义。这允许具有Contributor级别及以上权限的攻击者,在编辑文章或页面时,向这些属性中注入恶意的JavaScript代码(如`onmouseover`事件或闭合引号执行脚本)。一旦内容发布,恶意脚本将被持久化存储在数据库中。当管理员或其他访客访问该页面时,插入的脚本将在其浏览器上下文中执行,从而窃取Cookie、会话令牌或重定向用户,造成严重的客户端安全风险。