
Technische Offenlegung einer kritischen zeitbasierten Blind-SQL-Injection-Schwachstelle (CVE-2025-68400) in ChurchCRM, einschließlich Analyse des anfälligen Codes, Proof-of-Concept und Auswirkungsbewertung für defensive Sicherheitsteams.
| Feld | Details |
|---|
| CVE ID | CVE-2025-68400 |
| Schweregrad | KRITISCH |
| Sicherheitshinweis | Sicherheitshinweis ansehen |
| Entdeckt von | Lukasz Rybak |
Eine kritische SQL-Injection-Schwachstelle existiert im Legacy-Endpunkt /Reports/ConfirmReportEmail.php in ChurchCRM 6.3.0. Obwohl das Feature aus der Benutzeroberfläche (UI) entfernt wurde, bleibt die Datei weiterhin bereitgestellt und direkt über die URL erreichbar. Dies ist ein klassischer Fall von totem, aber erreichbarem Code (dead but reachable code). Jeder authentifizierte Benutzer – selbst einer ohne jegliche zugewiesene Berechtigungen – kann die SQL-Injection über den Parameter familyId ausnutzen.
Das Problem befindet sich in:
src/Reports/ConfirmReportEmail.php
Verwundbarer Code (Zeilen 82–83):
if (InputUtils::legacyFilterInput($_GET['familyId'], 'int')) {
$sSubQuery = ' and fam_id in (' . $_GET['familyId'] . ') ';
}
Warum dies verwundbar ist:
legacyFilterInput() wird vollständig ignoriert.$_GET['familyId']-Wert wird direkt in eine SQL-Abfrage konkateniert.Toter, aber erreichbarer Endpunkt:
/Reports/ConfirmReportEmail.php?familyId=<value>
Normales Verhalten:
302 Redirect → /v2/family/<id>&PDFEmailed=
Bösartige Payloads, die ) oder -- enthalten, unterbrechen die Redirect-Logik und führen die verwundbare SQL-Abfrage aus.
Selbst ein Benutzer mit null Berechtigungen kann die Schwachstelle ausnutzen.
Eine SLEEP(5)-Payload verzögert die Antwort zuverlässig und beweist damit die SQL-Ausführung.
Ein authentifizierter Benutzer ruft folgende URL auf:
http://localhost:8101/Reports/ConfirmReportEmail.php?familyId=1)%20AND%20(SELECT%201%20FROM%20(SELECT(SLEEP(5)))a)%20--%20-

Beobachtetes Ergebnis:
Bestätigung mit sqlmap:

Die Offenlegung dieser CVE erfolgte verantwortungsvoll gemäß den Praktiken der koordinierten Offenlegung von Schwachstellen (Coordinated Vulnerability Disclosure). Die hier bereitgestellten Informationen dienen ausschließlich Bildungs- und Verteidigungszwecken.