ChurchCRM
CVE-2026-58408
MEDIUM
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
PR:L confirmed because any single non-admin permission flag suffices; C:H for full bulk PII export; I:N and A:N as the endpoint only reads and streams data.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
ChurchCRM is an open-source church management system. Prior to version 7.4.0, a low-privileged user can bypass the /admin/export UI and exfiltrate the entire member directory. The POST /CSVCreateFile.php endpoint generates and streams a CSV containing the full Personally Identifiable Information (PII) of every Person/Family record in the database, without performing any feature-level or object-level authorization check beyond the coarse "has any admin permission" gate inherited from the legacy page bootstrap. In other words, any single non-admin permission flag is enough to reach the CSV bulk-export endpoint, even though such users should not have data export rights. The export script is missing a dedicated isAdmin() (or a new bExportData) authorization check of its own. This issue has been fixed in version 7.4.0.
AnalysisAI
Authorization bypass in ChurchCRM prior to version 7.4.0 exposes the full congregation member directory to any low-privileged authenticated user via the unprotected POST /CSVCreateFile.php endpoint. The endpoint streams a CSV containing complete PII for every Person and Family record in the database without performing a dedicated function-level authorization check, relying instead on a legacy coarse gate that any single non-admin permission flag satisfies. No public exploit has been identified at time of analysis, but the trivially low exploitation barrier - any valid low-privilege account - makes this a high-priority remediation for organizations managing sensitive congregation data.
Technical ContextAI
ChurchCRM is a PHP-based open-source church management system (CPE: cpe:2.3:a:churchcrm:crm:*:*:*:*:*:*:*:*). The vulnerability is classified as CWE-862 (Missing Authorization), a function-level access control failure. The /CSVCreateFile.php bulk-export script inherits only a coarse 'has any admin permission' gate from the legacy page bootstrap, which is satisfied by any user holding at least one non-admin permission flag. The intended security model requires an explicit isAdmin() call or a dedicated bExportData permission check on this specific endpoint, neither of which is implemented in versions prior to 7.4.0. Because the export script generates and streams the full Person and Family record set directly from the database, successful exploitation yields bulk PII exfiltration in a single authenticated HTTP request.
RemediationAI
Upgrade ChurchCRM to version 7.4.0 or later, which introduces a dedicated authorization check on the /CSVCreateFile.php endpoint; vendor patch details are available at https://github.com/ChurchCRM/CRM/security/advisories/GHSA-4vj2-gm78-3q63. If immediate patching is not feasible, restrict POST requests to /CSVCreateFile.php at the web server or reverse proxy layer (e.g., nginx deny or Apache mod_rewrite rules) - note this will also block legitimate admin bulk-export use until patched. Alternatively, audit all ChurchCRM accounts to identify those holding any permission flag and temporarily revoke or suspend them until the patch can be applied, accepting the operational trade-off of reduced volunteer access. After patching, review server access logs for historical POST requests to /CSVCreateFile.php from non-admin sessions to assess whether prior exploitation occurred.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today