Skip to main content

ChurchCRM CVE-2026-40485

MEDIUM
Observable Response Discrepancy (CWE-204)
2026-04-18 security-advisories@github.com
5.3
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker identifies target ChurchCRM endpoint
  2. Delivery
    Crafts HTTP requests to /api/public/user/login
  3. Exploit
    Iterates through username list
  4. Execution
    Observes 404 vs 401 response codes
  5. Persist
    Compiles list of valid usernames
  6. Impact
    Uses 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Vendor (github) PRIMARY 5.3 MEDIUM
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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

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

EPSS Score
0.0%
Top 99% exploitable
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy