Skip to main content

ChurchCRM CVE-2026-58409

CRITICAL
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-07-13 GitHub_M
9.1
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
9.1 CRITICAL
AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
vuln.today AI
9.1 CRITICAL

Network-reachable admin endpoint (AV:N/AC:L/UI:N) but requires administrator privileges (PR:H); web-app admin escalating to an OS shell crosses an authority boundary (S:C) with full C/I/A impact.

3.1 AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Analysis Generated
Jul 13, 2026 - 21:01 vuln.today
CVE Published
Jul 13, 2026 - 20:05 cve.org
CRITICAL 9.1

DescriptionCVE.org

ChurchCRM is an open-source church management system. Prior to version 7.4.0, an authenticated administrator can achieve Remote Code Execution (RCE) on the server by installing a malicious plugin ZIP archive containing a PHP webshell. The application explicitly includes 'php' in its ALLOWED_EXTENSIONS list, while the dangerous extensions denylist (DENIED_EXTENSIONS) fails to block standard .php files. Because php is explicitly included in the allowed extension list for plugin archives, and extracted files are placed directly under the web root, any PHP file inside the ZIP becomes immediately executable via HTTP - without even needing to "enable" the plugin through the application UI. The /plugins/install-url API route (management.php) allows an administrator to source the malicious ZIP from any attacker-controlled HTTPS URL, validating it only against an attacker-supplied SHA-256 hash. This issue has been fixed in version 7.4.0.

AnalysisAI

Remote code execution in ChurchCRM before 7.4.0 lets an authenticated administrator run arbitrary PHP on the server by installing a plugin ZIP that contains a webshell. Because 'php' is explicitly whitelisted in ALLOWED_EXTENSIONS and the DENIED_EXTENSIONS denylist fails to catch standard .php files, any PHP file inside the archive is extracted directly under the web root and becomes immediately executable over HTTP without the plugin ever being enabled. The /plugins/install-url route additionally allows the archive to be sourced from any attacker-controlled HTTPS URL, validated only against an attacker-supplied SHA-256 hash. No public exploit identified at time of analysis and it is not on CISA KEV.

Technical ContextAI

ChurchCRM is a PHP-based open-source church management application (CPE cpe:2.3:a:churchcrm:crm). The flaw is a classic CWE-434 Unrestricted Upload of File with Dangerous Type: the plugin installer's extension-filtering logic is inverted in effect - the allow-list intentionally contains 'php' and the corresponding deny-list does not neutralize ordinary .php files, so the two controls that should block executable content instead permit it. The plugin ZIP is unpacked into a directory beneath the document root that the PHP interpreter serves and executes, meaning extracted code runs in the web server's request context. The install-url path (management.php → /plugins/install-url) compounds this by fetching the ZIP from an arbitrary HTTPS location and checking integrity only against a hash the same actor supplies, so the hash check provides no security value against a malicious operator.

RemediationAI

Vendor-released patch: upgrade to ChurchCRM 7.4.0, which corrects the plugin extension handling; this is the primary and recommended fix (see GHSA-37mf-vq43-5qp9 at https://github.com/ChurchCRM/CRM/security/advisories/GHSA-37mf-vq43-5qp9). Where immediate upgrade is not possible, reduce exposure by restricting who holds administrator accounts and enforcing strong, unique credentials plus MFA on the admin panel, since exploitation requires admin access. As a compensating control, block or restrict access to the plugin management functionality (the /plugins/install-url and plugin-install routes in management.php) at the web server or reverse proxy so plugins cannot be installed from remote URLs - the trade-off is that legitimate plugin installation is disabled until re-enabled. Additionally, configure the web/application server so the plugin extraction directory under the web root cannot execute PHP (for example, disable the PHP handler for that path) - the trade-off is that any plugin legitimately relying on server-side PHP in that location will stop functioning. Egress filtering to prevent the server from fetching arbitrary attacker HTTPS URLs further limits the install-url vector.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

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

CVE-2012-1823 CRITICAL POC
9.8 May 11

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

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

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

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

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

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

CVE-2026-58409 vulnerability details – vuln.today

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