关键信息 漏洞名称 CVE-2025-63645: 存储型跨站脚本 (XSS) 漏洞在 pH7 社交约会 CMS 中 概要 在应用程序的消息子系统测试中,发现消息组成 → 消息输入字段中存在持久(存储的)跨站脚本 (XSS) 漏洞。攻击者可以将脚本内容存储在发送的消息中,当收件人打开该消息时,脚本会在受害者的浏览器中执行,从而导致在受害者的浏览器中执行有效载荷、敏感信息的披露和潜在的特权升级。 风险 远程存储的 XSS 在消息流中。由于有效载荷存储在服务器上,稍后在另一位用户的消息收件箱中呈现,查看该消息的任何用户(包括管理员)都可以在其会话上下文中执行攻击者提供的 JavaScript。这使得用户会话、数据外泄和代表受害者的自动化动作完全受到损害。 实际影响 权限提升:如果管理员或特权用户查看该消息,则为真。攻击者的行为可能会影响高特权帐户。 信息泄露:为真 – 攻击者控制的脚本可以读取页面 DOM、cookie(如果不是 HTTP-only)、存储中的令牌或调用内部 API。 远程攻击:为真。攻击者不需要对受害者的机器进行本地访问,只有受害者打开了该消息。 典型后果:会话劫持、帐户接管、定向到 admin 函数、自动化 CSRF 风格请求、数据外泄。 高级复制(模糊化) 出于道德原因,省略了技术细节,但这是一个抽象的漏洞路径分解: 1. 打开两个浏览器会话并同时登录到管远提示。 2. 在每个浏览器中:Users → Admin → Users → Browse。 3. 在左浏览器中,复制目标用户的“Login”/ user-action 链接 URL;在两个浏览器中粘贴该 URL。在左侧浏览器中将最终标识符编辑为 17 ,右侧为 2 ,然后同时加载两个页面(这会设置两个不同的用户上下文)。 4. 在左侧浏览器:Messages → Compose。 5. 将收件人设置为右侧登录 (ID 2) 的用户。将一个编造的消息(此处的负载被编辑)输入到消息输入并点击发送。 6. 通过拦截代理或服务器端日志检查传出的请求,并注意应用到提交内容的任何编码。在必要时解码和篡改负载,以验证服务器接受的内容。发送请求。 7. 在右侧浏览器:Messages → Inbox 并打开收到的来自用户的 17 消息。 8. 观察到存储的内容在收件人的浏览器中执行确认消息系统存在一个持久的 XSS。 备注:涉及解码/破坏拦截请求的步骤证明仅依赖客户端编码是不够的;服务器最终存储并提供攻击者控制的内容。 协调披露 发现此漏洞后,联系了产品的维护者,并负责任地报告了问题。MITRE 为该漏洞分配了标识符 CVE-2025-63645。