Description
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.
Published: 2026-07-13
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability, identified as CWE-434 (Unrestricted Upload of File with Dangerous type), allows administrators to install plugin archives through an API that accepts a ZIP file from a user‑supplied HTTPS URL. The endpoint validates the file only by comparing it against an SHA‑256 hash provided by the user. The plugin upload mechanism permits the file extension ".php" to be listed as allowed; when the archive is extracted the files are placed directly under the publicly accessible web root, making any PHP file inside the ZIP immediately executable. An attacker who can authenticate as an administrator can therefore upload a ZIP that contains a webshell, cause it to be extracted to the web root, and execute arbitrary code on the server.

Affected Systems

The flaw impacts ChurchCRM versions prior to 7.4.0, as identified by the CNA as ChurchCRM:CRM. It applies to all installations that use the default web directory layout, regardless of the underlying operating system or web server, because the issue lies in the PHP code that processes plugin uploads.

Risk and Exploitability

The CVSS score of 9.1 reflects the full loss of confidentiality, integrity, and availability that an attacker can achieve if they can authenticate to the application. Because the exploit requires only an authenticated administrator account, it is considered user-facing; if administrative access is exposed over the Internet or the attacker can obtain those credentials, the risk is higher. The vulnerability is not listed in CISA KEV and the EPSS score of 0.00456 indicates a low but non‑zero probability of exploitation. The attack path involves submitting a malicious ZIP to the /plugins/install-url endpoint, which accepts the file, verifies the SHA‑256, extracts it into the web root, and leaves a PHP shell that can be accessed through HTTP.

Generated by OpenCVE AI on July 31, 2026 at 11:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply ChurchCRM version 7.4.0 or later to eliminate the upload flaw.
  • Revoke or delete any previously uploaded plugin archives that may contain PHP files, and scan the web root for stray .php files that could be executed.
  • Restrict access to the /plugins/install-url API to trusted administrators only or disable it if a patch cannot be applied immediately.
  • Enable multi-factor authentication for administrator accounts and limit administrative access to a secure network or VPN.

Generated by OpenCVE AI on July 31, 2026 at 11:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 14 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 13 Jul 2026 20:45:00 +0000

Type Values Removed Values Added
Description 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.
Title ChurchCRM: Authenticated Remote Code Execution (RCE) via Malicious Plugin Upload
Weaknesses CWE-434
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-14T13:06:18.072Z

Reserved: 2026-06-30T18:19:58.380Z

Link: CVE-2026-58409

cve-icon Vulnrichment

Updated: 2026-07-14T13:06:03.285Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T11:30:05Z

Weaknesses
  • CWE-434

    Unrestricted Upload of File with Dangerous Type