Skip to main content

FinancialService CVE-2026-40482

HIGH
SQL Injection (CWE-89)
2026-04-18 security-advisories@github.com
7.1
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privilege ChurchCRM credentials
  2. Delivery
    Access financial scanning interface
  3. Exploit
    Inject SQL payload via $routeAndAccount parameter
  4. Execution
    Execute arbitrary SQL queries
  5. Impact
    Extract sensitive database contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Authenticated access with low-privileged user credentials is required (CVSS PR:L). Specifically, the attacker must have a valid ChurchCRM user account with permissions to access the financial services module and use the member scanning functionality that invokes the getMemberByScanString() method. This suggests the vulnerable feature is used for barcode scanning or manual lookup of member financial records by routing and account number. No special configuration, non-default settings, or user interaction beyond the attacker's own actions is necessary (CVSS AC:L/UI:N). The vulnerability is exploitable against default ChurchCRM installations running versions prior to 7.2.0 where the financial module is enabled. Exploitation is limited by the requirement for authenticated access, meaning attackers must first obtain valid credentials through phishing, credential stuffing, insider threat, or exploitation of a separate authentication bypass vulnerability. The network attack vector (AV:N) means remote exploitation is possible without physical or local access to the server. No privilege escalation within the application is required beyond the baseline authenticated user role with financial module access.

Impact

Real-world risk is moderate to high for ChurchCRM deployments, driven by technical simplicity and sensitive data exposure potential, but tempered by authentication requirements. CVSS 7.1 (High severity) accurately reflects the technical impact-SQL injection with database read/write capabilities is always serious-but the PR:L (low-privileged authentication required) reduces the attack surface compared to unauthenticated vulnerabilities. Attack complexity is low (AC:L), meaning exploitation requires no special conditions beyond valid user credentials, making this automatable once access is obtained. No EPSS score is available for predictive risk modeling, but the public availability of the GitHub security advisory (GHSA-hc37-vx3w-34fg) with detailed technical explanation and the fixed commit diff effectively serves as proof-of-concept material, lowering the skill barrier for exploitation. Absence from CISA KEV suggests no confirmed widespread or targeted exploitation campaigns as of analysis date. The high confidentiality impact is concerning for church management systems that typically store personally identifiable information (PII) including names, addresses, phone numbers, email addresses, donation records, and financial data of congregation members. The low integrity impact (VI:L) suggests write operations are constrained-possibly by database permissions or query context-limiting but not eliminating data tampering risk. For SSVC decision framework: exploitation is Public (PoC available via GitHub), automatable (yes, once authenticated), technical impact is Partial (data exfiltration but not total system compromise). Priority depends on organizational exposure: deployments with untrusted authenticated users (e.g., volunteer access, large congregations with many user accounts) face higher risk than small installations with tightly controlled administrator-only access.

Exploit ScenarioDerived

An authenticated attacker with low-privilege user credentials (such as a volunteer with financial data entry permissions) accesses the ChurchCRM financial scanning interface and manipulates the routing/account number input field. Instead of legitimate banking data, the attacker injects SQL syntax such as ' UNION SELECT username,password,email FROM users-- to append a secondary query that extracts user credentials and member contact information from the database. The unsanitized $routeAndAccount parameter passes the malicious payload directly into the SQL query executed by getMemberByScanString(), causing the database to return both the expected financial lookup results and the injected credential dump. The attacker iterates through different table names and column structures to systematically exfiltrate donation records, personally identifiable information of congregation members, and administrative credentials, which could enable privilege escalation for subsequent attacks. Public proof-of-concept code is available via the GitHub security advisory GHSA-hc37-vx3w-34fg.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 18, 2026

SQL injection in ChurchCRM's FinancialService getMemberByScanString() method allows authenticated attackers to exfiltrate sensitive database contents and modify limited data. Affects ChurchCRM versions prior to 7.2.0. The vulnerability stems from unsanitized $routeAndAccount parameter concatenated directly into SQL queries without parameterization. Fixed via commit 214694eb and pull request #8607. EPSS data not available. Not listed in CISA KEV. Public exploit code exists (GitHub advisory GHSA-hc37-vx3w-34fg with PoC). CVSS 7.1 reflects network-accessible attack requiring low-privileged authentication with high confidentiality impact and low integrity impact.

RemediationAI

Upgrade to ChurchCRM version 7.2.0 or later immediately, which contains the fix delivered via commit 214694eb83778e1f5e52b3dfa2a99d0e965c1850 and pull request #8607 available at https://github.com/ChurchCRM/CRM/pull/8607. The patch replaces direct string concatenation with parameterized SQL queries using prepared statements, eliminating the injection vector. If immediate upgrade is not feasible, implement compensating controls with understanding of their limitations: restrict access to financial scanning functionality to only highly trusted administrator accounts via role-based access controls (trade-off: reduces usability for finance volunteers); deploy web application firewall (WAF) rules to detect and block SQL injection patterns in requests to financial service endpoints (trade-off: potential for false positives blocking legitimate routing/account number formats, requires tuning); enable comprehensive database query logging and monitor for anomalous SELECT statements with UNION clauses, unusual table access patterns, or exfiltration attempts (trade-off: detective not preventive control, generates alert fatigue, privacy implications of logging all queries). Database-level restrictions such as ensuring the application database user has minimal necessary privileges and read-only access to sensitive tables can limit integrity impact but will not prevent confidentiality breach. These workarounds are inferior to patching-SQL injection cannot be reliably mitigated at the perimeter when the application layer is fundamentally vulnerable.

Affected ProductsAI

ChurchCRM open-source church management system versions prior to 7.2.0 are affected. The vulnerability exists in the FinancialService class, specifically the getMemberByScanString() method used for processing financial transaction lookups. All deployment configurations running vulnerable versions are affected where authenticated users have access to financial scanning features. The fix is available in ChurchCRM version 7.2.0 and later, implemented via commit 214694eb83778e1f5e52b3dfa2a99d0e965c1850 and merged through pull request #8607. The official security advisory is published at https://github.com/ChurchCRM/CRM/security/advisories/GHSA-hc37-vx3w-34fg with technical details and remediation guidance.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is a classic SQL injection vulnerability (CWE-89) in ChurchCRM, an open-source church management system written in PHP. The flaw exists in the FinancialService class's getMemberByScanString() method, which handles financial transaction routing and account lookup functionality. The vulnerability occurs when the $routeAndAccount variable-likely user-controlled input from barcode scanning or manual entry of banking routing and account numbers-is concatenated directly into a SQL query string without proper sanitization, escaping, or parameterized query bindings. This violates secure coding practices for database interaction and creates an injection point where attackers can break out of the intended query structure. The CVSS 4.0 vector (AV:N/AC:L/PR:L) indicates this is a network-accessible vulnerability with low attack complexity requiring authenticated access, suggesting the vulnerable endpoint is part of the authenticated web application interface rather than a public-facing form. The impact profile (VC:H/VI:L/VA:N) shows asymmetric consequences: high confidentiality impact allowing full database read access, low integrity impact permitting limited data modification, and no availability impact.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github) · only source for this CVE.

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

ChurchCRM is an open-source church management system. Versions prior to 7.2.0 have SQL injection in FinancialService::getMemberByScanString() via unsanitized $routeAndAccount concatenated into raw SQL. This issue has been fixed in version 7.2.0.

Executive ViewAI

Why It Matters

ChurchCRM versions prior to 7.2.0 contain a SQL injection vulnerability in the FinancialService module that allows authenticated users to extract sensitive database records and modify limited data. Organizations running affected versions face confidentiality and integrity risks to financial and member data, requiring immediate inventory and remediation of deployed instances.

Business Impact: High
Compensating Controls

Pending vendor release of ChurchCRM 7.2.0 patch: (1) Restrict FinancialService module access via application-level role controls to administrative staff only; (2) Implement database query logging and alerting for anomalous SQL patterns from ChurchCRM processes; (3) Apply network segmentation to limit ChurchCRM server lateral movement; (4) Enforce multi-factor authentication for all user accounts accessing FinancialService; (5) Monitor GitHub advisory GHSA-hc37-vx3w-34fg for patch release notification.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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