CVE-2026-9629WordPress Canvas插件2.5.2及之前版本存在一处严重的存储型跨站脚本(XSS)漏洞。该漏洞源于插件在处理'tag'参数时未能进行充分的输入清理和输出转义,导致恶意JavaScript代码可以被永久存储在受影响页面的数据库中。攻击者利用此漏洞需要至少具备WordPress Contributor级别的用户权限,成功利用后可在自己有编辑权限的页面中注入任意脚本代码。当其他用户访问这些被注入恶意代码的页面时,浏览器会自动执行攻击者植入的脚本,可能导致会话劫持、敏感信息窃取、恶意重定向等严重后果。由于攻击代码存储在服务器端,此漏洞对所有访问受影响页面的用户都构成威胁,危害范围广泛。
漏洞根源位于Canvas插件的block-section-heading组件渲染文件中。在render.php第13行和第32行,程序直接使用用户提交的'tag'参数而未进行任何HTML实体转义处理。同样在gutenberg/custom-blocks/index.php第798行也存在类似问题。攻击者以Contributor或更高权限登录WordPress后,可在创建或编辑页面时,通过Canvas插件的section heading功能在tag字段中注入恶意JavaScript代码,如<img src=x onerror=alert(document.cookie)>。由于插件未对输入进行sanitize处理,该代码会被原样存储到数据库中。当其他用户访问包含该section heading的页面时,浏览器会解析并执行这段恶意脚本。由于是存储型XSS,攻击具有持久性,攻击者无需再次进行注入操作即可持续影响访问者。修复版本2.5.3通过添加适当的输入验证和输出转义解决了此问题。