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

CVE-2026-39318: ChurchCRM SQL注入漏洞

披露日期: 2026-04-07

漏洞信息

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

相关标签

SQL注入ChurchCRM权限提升数据库安全

漏洞概述

ChurchCRM开源系统在7.1.0之前版本存在严重的SQL注入漏洞。拥有ManageGroups权限或管理员权限的认证用户,可通过`/GroupPropsFormRowOps.php`等端点的`Field`参数注入任意SQL语句,进而非法修改数据库表内容,造成数据泄露或破坏。

技术细节

该漏洞的根本原因在于ChurchCRM后端未对特定端点的`Field`参数进行严格的输入过滤和类型检查,导致其直接被拼接到SQL查询语句中执行。受影响的接口包括`/GroupPropsFormRowOps.php`、`/PersonCustomFieldsRowOps.php`和`/FamilyCustomFieldsRowOps.php`。攻击流程首先需要攻击者获取一个经过身份验证的会话。针对`/GroupPropsFormRowOps.php`,仅需开启`ManageGroups`权限即可利用;而针对另外两个涉及自定义字段的接口,攻击者必须拥有管理员级别的权限。一旦满足条件,攻击者可通过构造恶意的SQL语句(如基于UNION的查询或堆叠查询)注入到`Field`参数中,从而读取敏感数据、修改表结构或篡改核心业务数据。

攻击链分析

STEP 1
步骤1
攻击者对目标ChurchCRM系统进行侦察,确认版本低于7.1.0。
STEP 2
步骤2
攻击者通过钓鱼或暴力破解获取合法用户凭证。
STEP 3
步骤3
攻击者利用该账户登录,并确认是否拥有ManageGroups权限或管理员权限。
STEP 4
步骤4
攻击者向`/GroupPropsFormRowOps.php`等端点发送特制的HTTP POST请求,在`Field`参数中注入恶意SQL代码。
STEP 5
步骤5
后端数据库执行恶意SQL语句,导致数据被修改、删除或窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) target_url = "http://target.com/GroupPropsFormRowOps.php" # Payload to test SQL Injection # The vulnerability is in the 'Field' parameter payload = { "Field": "1' OR SLEEP(5)-- -", # Simple time-based blind payload "Action": "Delete" # Hypothetical action based on endpoint name "RowOps" } # Authenticated session cookie is required cookies = { "PHPSESSID": "valid_session_id_here" } try: response = requests.post(target_url, data=payload, cookies=cookies) if response.elapsed.total_seconds() > 5: print("Vulnerable: SQL Injection triggered delay.") else: print("Check response manually.") except Exception as e: print(f"Error: {e}")

影响范围

ChurchCRM < 7.1.0

防御指南

临时缓解措施
建议立即升级ChurchCRM至7.1.0或更高版本。在未升级前,应严格限制管理权限的分配,撤销非必要用户的ManageGroups权限,并监控针对受影响端口的异常流量。同时,建议在数据库层面限制数据库用户的权限,避免应用账户直接执行DDL语句。

参考链接

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