漏洞概述 标题: Stored XSS in PledgeEditor.php via Donation Comment Field CVE ID: CVE-2025-40483 严重程度: Moderate (5.4 / 10) 报告者: Ayhan Bayıldız 描述: ChurchCRM 在捐赠编辑器(PledgeEditor.php)中存在一个存储型跨站脚本(XSS)漏洞。该漏洞允许攻击者在捐赠评论字段中注入任意文本输入,这些输入被存储在 数据库列中,且未对 HTML 属性破坏字符进行净化。当捐赠记录被查看或编辑时,未净化的值会直接渲染到 HTML 元素的属性中,导致任何注入的事件处理程序在打开该记录进行编辑的用户浏览器中执行。 根本原因: 第 708 行: 影响范围 攻击向量: 网络 攻击复杂度: 低 所需权限: 低 用户交互: 需要 影响: 任何具有财务访问权限(或任何管理员)的用户,在打开受影响的捐赠记录进行编辑时,将在其浏览器中执行注入的脚本。这可用于窃取会话 cookie、代表受害者执行操作或提升权限。 修复方案 已修复版本: 7.2.0 修复详情: 原始 SQL 查询已被 PledgeQuery ORM 替换,用于 SELECT, UPDATE, DELETE 操作。 相关 PR: #8609 概念验证 (POC) 利用步骤: 1. 使用具有财务启用权限的账户登录。 2. 导航到 Finance -> Pledge Editor (或 )。 3. 在某个基金的 Comment 字段中输入: (解码后为: ) 4. 点击 Save。 5. 通过 导航回该捐赠记录。 6. 将鼠标悬停在评论输入字段上,触发 ,确认存储型 XSS 执行。