Executive brief
ChurchCRM, an open-source church management system, contains a critical security flaw in its initial setup wizard. An attacker can remotely take full control of the server by submitting a specially crafted password during the setup process, even without having valid database credentials. This could lead to the theft of sensitive member data, complete service disruption, or the use of the server for further malicious activities.
Technical details
ChurchCRM is vulnerable to remote code execution (RCE) because the setup wizard fails to sanitize the 'DB_PASSWORD' input field in 'src/setup/routes/setup.php'. This field is directly substituted into a single-quoted PHP string within the 'Config.php.example' template. An unauthenticated attacker can provide a payload that breaks out of the string literal (e.g., using single quotes) and injects PHP functions like 'shell_exec()'. The malicious code is executed when 'Config.php' is subsequently loaded by the application, typically on the next request to the index page. This vulnerability persists because a previous fix (CVE-2026-39337) failed to address the password field specifically. The issue is resolved in version 7.3.2.
Affected products
- ChurchCRM ChurchCRM Prior to 7.3.2
Timeline
- 2026-05-12: disclosed
- 2026-05-12: advisory
- 2026-05-12: patched: Fixed in version 7.3.2