ChurchCRM CVE-2026-40485
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker identifies target ChurchCRM endpoint
-
DeliveryCrafts HTTP requests to /api/public/user/login
-
ExploitIterates through username list
-
ExecutionObserves 404 vs 401 response codes
-
PersistCompiles list of valid usernames
-
ImpactUses enumerated usernames for credential attacks
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Response uniformity
|
| Exploitation Conditions | The vulnerability requires the ChurchCRM public API login endpoint (/api/public/user/login) to be exposed and accessible over the network. This endpoint is public by design, requiring no prior authentication or special configuration to access. The vulnerability is triggered by sending any HTTP request (typically POST) to this endpoint with a username in the request body. No user interaction is required. Exploitation is limited only by network reachability; if the endpoint is behind a firewall, on an internal network, or protected by a WAF with rate limiting, the attack surface is reduced. However, the absence of rate limiting and account lockout in the vulnerable code means that on default or publicly exposed installations, enumeration can proceed freely. |
| Impact | CVSS 5.3 (Medium) with AV:N/AC:L/PR:N/UI:N/S:U/C:L correctly characterizes this as a low-confidentiality information disclosure with remote, unauthenticated network access and no special conditions required. The vulnerability presents moderate real-world risk because username enumeration is a foundational step in credential-stuffing and targeted phishing campaigns. However, the impact is strictly informational (C:L) with no integrity or availability damage, and requires active enumeration by an attacker. The absence of KEV status or public exploit code suggests this vulnerability has not been subject to widespread active exploitation or automated weaponization at the time of analysis. Risk is elevated in environments where usernames correspond to predictable identifiers (e.g., email addresses, staff directories) and where user lists are otherwise confidential. Organizations with exposed ChurchCRM deployments should prioritize patching to deny attackers preliminary reconnaissance data. |
| Exploit ScenarioDerived | An attacker performs reconnaissance on a ChurchCRM instance by sending HTTP POST requests to /api/public/user/login with common usernames (e.g., admin, pastor, john.doe). For each request, the attacker notes the HTTP response code: 404 indicates the username is not in the system, while 401 indicates the username exists. The attacker iterates through a list of 1,000+ potential usernames in minutes without triggering any rate limiting or lockout, building a roster of valid accounts. This enumerated list is then used for credential stuffing attacks using leaked password databases or for targeted phishing emails that appear to come from within the organization. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 18, 2026
ChurchCRM versions prior to 7.2.0 leak valid usernames through the public API login endpoint by returning distinguishable HTTP status codes (404 for non-existent users, 401 for valid users with wrong passwords). An unauthenticated attacker can enumerate valid usernames without rate limiting or account lockout restrictions, enabling targeted credential attacks and social engineering. This information disclosure vulnerability affects all ChurchCRM deployments using the vulnerable API endpoint and has been patched in version 7.2.0.
RemediationAI
Upgrade ChurchCRM to version 7.2.0 or later, which fixes the username enumeration vulnerability by implementing consistent HTTP response codes for both non-existent and incorrect-credential scenarios. Administrators should apply the patch immediately by pulling the latest code from the main branch or downloading the tagged 7.2.0 release. For organizations unable to upgrade immediately, implement network-level compensating controls: disable or restrict access to the /api/public/user/login endpoint via web application firewall (WAF) rules or reverse proxy, allowing only known-good IP ranges; implement rate limiting at the API gateway level (e.g., 5 requests per minute per IP) to slow enumeration attacks; and consider requiring API authentication tokens even for the public login endpoint. Note that WAF-based mitigation may break legitimate login flows for external users, and rate limiting alone does not prevent enumeration but increases time-to-complete. The definitive fix remains upgrading to 7.2.0 or later.
Affected ProductsAI
ChurchCRM versions prior to 7.2.0 are affected. This includes all 7.x versions before 7.2.0, 6.x versions, and earlier releases. The vulnerability is specific to the public API login endpoint and affects both standalone deployments and instances integrated into larger systems. The open-source project is hosted on GitHub at ChurchCRM/CRM. No CPE string was provided in the source data, but the project identifier is ChurchCRM.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
ChurchCRM's public API login endpoint at /api/public/user/login implements HTTP status code differentiation based on authentication state, a design anti-pattern covered by CWE-204 (Observable Discrepancy). The endpoint uses 404 (Not Found) when a username does not exist in the system and 401 (Unauthorized) when a username exists but the password is incorrect. This behavior creates an information channel that leaks the existence of valid user accounts. The vulnerability exploits fundamental HTTP semantics where response codes should not disclose internal system state. The lack of rate limiting and account lockout mechanisms compounds the risk by allowing rapid, unrestricted enumeration without triggering defensive measures typical in authentication systems.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Primary rating from Vendor (github) · only source for this CVE.
CVSS VectorVendor: github
DescriptionCVE.org
ChurchCRM is an open-source church management system. In versions prior to 7.2.0, the public API login endpoint (/api/public/user/login) returns distinguishable HTTP response codes based on whether a username exists: 404 for non-existent users and 401 for valid users with incorrect passwords. An unauthenticated attacker can exploit this difference to enumerate valid usernames, with no rate limiting or account lockout to impede the process. This issue has been fixed in version 7.2.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB