CVE-2026-3554WordPress插件Sherk Custom Post Type Displays在所有版本(包括1.2.1及以下)中存在存储型跨站脚本(XSS)漏洞。该漏洞源于插件对'sherkcptdisplays'短代码中的'title'属性缺乏足够的输入清理和输出转义。具体而言,在`SherkCPTDisplaysShortcode.php`文件的`sherkcptdisplays_func()`函数中,从第19行提取的'title'属性值未经任何转义处理,直接在第31行被拼接到HTML `<h2>`标签中。这使得拥有贡献者级别及以上权限的认证攻击者能够注入恶意Web脚本,当用户访问被注入的页面时,脚本将会执行,从而可能导致账户劫持或恶意操作。
该漏洞属于典型的存储型XSS,漏洞点位于`includes/SherkCPTDisplaysShortcode.php`文件中的短代码处理函数。在`sherkcptdisplays_func()`函数内部,代码首先通过`shortcode_atts()`函数提取用户传入的参数,其中包含'title'参数。然而,在构建输出HTML时,代码直接将获取到的'title'参数值拼接到`<h2>`标签的文本内容中,未使用WordPress的转义函数(如`esc_html()`或`esc_attr()`)进行处理。攻击者利用此漏洞时,首先需要拥有WordPress网站的贡献者或更高权限账户。随后,在发布文章或页面时,插入包含恶意JavaScript代码的`[sherkcptdisplays title="<img src=x onerror=alert(1)>"]`短代码。由于输出未转义,恶意脚本会被持久化存储在数据库中。当其他用户(包括管理员)浏览该页面时,浏览器会解析并执行其中的JS代码,从而实现窃取Cookie、会话令牌或进行恶意重定向等攻击。