IPBUF安全漏洞报告
English
CVE-2026-35576 CVSS 8.7 高危

CVE-2026-35576 ChurchCRM存储型XSS漏洞

披露日期: 2026-04-07

漏洞信息

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

相关标签

XSS存储型XSSChurchCRMWeb安全CVE-2026-35576会话劫持

漏洞概述

ChurchCRM 7.0.0之前的版本在人员属性管理子系统中存在严重的存储型XSS漏洞。经过身份认证的攻击者可以通过动态分配的人员属性字段注入恶意JavaScript代码。该载荷被持久化存储,并在管理员或其他用户查看受影响的人员资料或打印视图时自动执行,从而导致会话劫持或账户完全被接管。

技术细节

该漏洞位于ChurchCRM的人员属性管理子系统,影响7.0.0之前的版本。根本原因是应用程序对用户提交的动态人员属性数据未进行严格的上下文感知输出编码,导致攻击者能够注入持久化的恶意JavaScript代码。尽管之前针对CVE-2023-38766进行了修补,但新的攻击向量绕过了现有的过滤机制。攻击流程涉及已认证的低权限用户在特定字段中植入Payload。由于这是存储型XSS,恶意脚本被保存在服务器端数据库中。当具有更高权限的用户(如管理员)访问包含该属性的受感染人员档案或打印视图时,Payload会在其浏览器环境中触发。由于CVSS向量包含S:C(影响范围改变),攻击者可以利用此漏洞窃取管理员的Session ID、执行CSRF攻击或进行浏览器内的内网探测,最终导致账户完全失陷。

攻击链分析

STEP 1
侦察与访问
攻击者识别目标ChurchCRM系统,并获取一个低权限的合法账户凭证。
STEP 2
载荷注入
攻击者登录系统,进入人员属性管理界面,利用动态分配属性功能,在属性值字段中插入恶意的JavaScript代码(XSS Payload)。
STEP 3
持久化存储
系统未对输入数据进行充分过滤,将恶意代码存储在后端数据库中。
STEP 4
触发利用
当管理员或其他高权限用户访问被修改的人员资料页面或打印视图时,服务器从数据库读取恶意数据并渲染到网页中。
STEP 5
执行攻击
受害者的浏览器解析并执行恶意脚本,窃取Session Cookie或执行敏感操作,导致账户被接管。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-35576 --> <!-- Description: Inject a script via Person Property to trigger alert --> 1. Log in to ChurchCRM as a low-privileged user. 2. Navigate to a Person's profile. 3. Edit or Add a Person Property. 4. Inject the following payload into the property value field: <img src=x onerror=alert('CVE-2026-35576_XSS')> 5. Save the property. 6. Wait for an admin to view the person profile. // Alternatively, a simple HTTP request simulation: /* POST /api/persons/1/properties HTTP/1.1 Host: target-churchcrm.com Content-Type: application/json Authorization: Bearer <token> { "proId": "2", "PropertyValue": "<script>alert(document.cookie)</script>" } */

影响范围

ChurchCRM < 7.0.0

防御指南

临时缓解措施
在未升级版本中,可以通过严格限制低权限用户对人员属性的编辑权限来降低风险。同时,建议部署Web应用防火墙(WAF)以检测和拦截常见的XSS攻击模式,并对输出到浏览器的动态内容实施转义处理。

参考链接

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