CVE intelligence and bounded remediation
CVE-2025-66396 — ChurchCRM is an open-source church management system
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.