CVE-2025-14121CVE-2025-14121是WordPress插件EDD Download Info中的一个高危安全漏洞,该漏洞允许经过身份验证的攻击者在受影响的网站上执行存储型跨站脚本(Stored XSS)攻击。EDD Download Info是一款用于WordPress的插件,主要用于在页面或文章中显示Easy Digital Downloads(EDD)下载信息。该插件在处理'edd_download_info_link'短代码时,对用户提供的属性参数缺乏充分的输入清理和输出转义。攻击者只需拥有WordPress网站的贡献者(Contributor)或更高权限账户,即可利用此漏洞在页面中注入恶意JavaScript代码。一旦恶意代码被存储,任何访问包含该短代码页面的用户都会触发执行,从而可能导致会话劫持、凭据窃取、恶意重定向等严重安全后果。由于该漏洞属于存储型XSS,其危害性远高于反射型XSS,攻击效果可长期持续。此漏洞影响插件1.1及以下所有版本。
漏洞根源在于shortcodes.php文件中对短代码属性的处理逻辑。在第43行附近,插件直接使用用户提供的属性值构建HTML链接元素,而未进行适当的输入验证和输出转义。具体来说,当攻击者通过'edd_download_info_link'短代码插入包含恶意脚本的属性时(如url参数),插件直接将该值插入到HTML的href属性中。例如,攻击者可以构造如下短代码:[edd_download_info_link url='javascript:alert(document.cookie)'],插件会将其渲染为<a href='javascript:alert(document.cookie)'>链接</a>。由于缺乏HTML实体编码,浏览器会将其识别为JavaScript协议并在点击时执行。存储型XSS的特点是恶意代码被永久存储在数据库中,所有访问该页面的用户都会受到攻击。攻击者通常利用此漏洞窃取用户会话cookie、修改页面内容或进行钓鱼攻击。攻击者需要至少具有贡献者权限,这意味着他们可以创建和编辑草稿文章,从而插入恶意短代码。