CVE-2026-4084该漏洞源于WordPress的fyyd podcast shortcodes插件在0.3.1及以下版本中存在输入验证和输出转义不足的问题。插件中的'fyyd-podcast'等短代码未能正确清理用户提供的属性。这些属性被直接拼接到单引号字符串的内联JavaScript中,缺乏转义机制。这使得拥有投稿人及以上权限的认证攻击者能够注入恶意Web脚本,当用户访问被注入的页面时脚本将执行,从而窃取信息或进行恶意操作。
该漏洞利用了WordPress插件开发中常见的“Shortcode”处理机制缺陷。在受影响的fyyd插件中,`fyyd-podcast`、`fyyd-episode`和`fyyd`短代码处理函数直接接收用户参数(如`color`、`podcast_id`等),并将其拼接进JavaScript代码中。例如,代码可能构造类似 `var color = '$user_input';` 的语句。由于插件未对单引号(`'`)进行转义,攻击者可以传入类似 `'alert(1);//` 的Payload。这导致闭合了原本的单引号字符串,插入了任意JavaScript代码,并注释掉后续代码。由于是存储型XSS,恶意脚本被保存在服务器数据库中,任何访问包含该短代码的页面的用户都会触发Payload。攻击者只需具备WordPress的Contributor权限即可发布包含恶意短代码的文章,进而攻击管理员或更高权限用户,获取Cookies或进行账户劫持。