CVE-2025-13206CVE-2025-13206是WordPress平台下GiveWP捐款和众筹插件的一个高危安全漏洞。该漏洞是一种存储型跨站脚本攻击(Stored Cross-Site Scripting),存在于插件所有版本直至4.13.0。由于插件对用户提交的'name'参数缺乏充分的输入清理和输出转义处理,攻击者可以在捐赠表单中注入恶意JavaScript代码。这些恶意脚本会被永久存储在数据库中,当其他用户访问包含捐赠者信息展示的页面时,注入的脚本将自动执行。攻击者可以利用此漏洞窃取受害者的会话cookie、劫持用户账户、进行钓鱼攻击或在网站上执行任意操作。值得注意的是,要成功利用此漏洞,需要WordPress站点启用头像(Avatars)功能。该漏洞CVSS评分为7.2,属于高危级别,无需认证即可发起攻击,这大大增加了其危害性。
漏洞根源在于GiveWP插件的process-donation.php文件(约第1230行)和class-give-donor.php文件(约第1135行)对捐赠者名称的验证不足。当用户提交捐赠表单时,'name'参数被直接写入数据库而未经过严格的HTML标签过滤或转义处理。随后在shortcode-donor-wall.php模板文件(约第59行)展示捐赠者信息时,未正确转义输出的用户数据,导致存储的恶意脚本得以执行。攻击者可以通过构造包含<script>标签或事件处理器(如onerror、onload)的name参数值来实现XSS攻击。例如,使用<img src=x onerror=alert(document.cookie)>作为捐赠者名称,脚本将在页面加载时执行。由于该数据被持久化存储在数据库中,攻击具有长期有效性。修复版本4.13.1通过添加WordPress内置的sanitize_text_field()等函数对输入进行清理,并使用esc_html()或esc_attr()对输出进行转义来解决此问题。