CVE intelligence and bounded remediation

CVE-2025-66396 — ChurchCRM is an open-source church management system

High CVSS 7.2

ChurchCRM is an open-source church management system. Prior to version 6.5.3, a SQL injection vulnerability exists in the `src/UserEditor.php` file. When an administrator saves a user's configuration settings, the keys of the `type` POST parameter array are not properly sanitized or type-casted before being used in multiple SQL queries. This allows a malicious or compromised administrator account to execute arbitrary SQL commands, including time-based blind SQL injection attacks, to directly interact with the database. The vulnerability is located in `src/UserEditor.php` within the logic that handles saving user-specific configuration settings. The `type` parameter from the POST request is processed as an array. The code iterates through this array and uses `key($type)` to extract the array key, which is expected to be a numeric ID. This key is then assigned to the `$id` variable. The `$id` variable is subsequently concatenated directly into a `SELECT` and an `UPDATE` SQL query without any sanitization or validation, making it an injection vector. Although the vulnerability requires administrator privileges to exploit, it allows a malicious or compromised admin account to execute…

Severity
High
CVSS
7.2 (3.1)
Published
2025-12-17
CISA KEV
Not currently listed
Ecosystem
software/application
Weaknesses
CWE-89

Affected products

  • churchcrm / churchcrm

Matched remediation archetype

SQL and data-query injection

This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.

Check exposure

  • Trace request, message, file, and stored values into SQL, ORM query fragments, filters, sort expressions, and other data-query languages.
  • Inventory database roles, reachable schemas, multi-tenant boundaries, and whether stacked or administrative operations are enabled.
  • Check both direct queries and second-order use of previously stored values.

Remediate safely

  • Use parameterized queries or safe query builders for all values; map identifiers and operators through explicit allowlists.
  • Remove raw query concatenation and give the application account only the tables and operations it requires.
  • Update affected data-access components and add regression tests for query structure preservation with inert edge-case inputs.

Authoritative sources

Complete CVE record and remediation plan

The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.