Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-67875 — CVE-2025-67875 - ChurchCRM weist gespeichertes XSS über die Zuweisung von Personen-Eigenschaften auf, das zur Übernahme einer Admin-Sitzung führt. | Kitploit
Tools/GitHubGitHub/lukasz-rybak/cve-2025-67875
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & Bildung
GitHublukasz-rybak/cve-2025-67875

CVE-2025-67875

CVE-2025-67875 - ChurchCRM weist gespeichertes XSS über die Zuweisung von Personen-Eigenschaften auf, das zur Übernahme einer Admin-Sitzung führt.

Repository anzeigen
vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-67875: ChurchCRM hat gespeichertes XSS über Person Property Assignment, das zur Übernahme der Admin-Sitzung führt

Überblick

FeldDetails
CVE-IDCVE-2025-67875
SchweregradHOCH
AdvisoryAdvisory ansehen
Entdeckt vonLukasz Rybak

Betroffene Produkte

  • ChurchCRM/CRM

Details

Zusammenfassung

Eine kritische Privilegienausweitung-Schwachstelle existiert in ChurchCRM Version 6.3.0 und früher. Ein authentifizierter Benutzer mit bestimmten mittleren Berechtigungen („Edit Records“ und „Manage Properties and Classifications“) kann eine persistente Cross-Site-Scripting-(XSS)-Nutzlast in das Profil eines Administrators injizieren. Die Nutzlast wird ausgeführt, wenn der Administrator seine eigene Profilseite aufruft, wodurch der Angreifer die Sitzung des Administrators übernehmen, administrative Aktionen ausführen und eine vollständige Kontenübernahme erreichen kann.

Diese Schwachstelle ist eine Kombination aus zwei separaten Fehlern: einer Insecure Direct Object Reference (IDOR), die es jedem Benutzer erlaubt, das Profil eines anderen Benutzers anzusehen, und einer Schwachstelle durch fehlerhafte Zugriffskontrolle (Broken Access Control), die es einem Benutzer mit allgemeinen Bearbeitungsrechten erlaubt, die Datensatzeigenschaften eines anderen Benutzers zu ändern.

Details

Die Angriffskette ist wie folgt:

  1. IDOR in PersonView.php: Es gibt keine Autorisierungsprüfung am Anfang von PersonView.php. Jeder authentifizierte Benutzer kann die Profilseite eines anderen Benutzers anzeigen (z. B. PersonView.php?PersonID=1 für den Admin), einfach indem er dessen ID kennt.

  2. Broken Access Control in PropertyAssign.php: Die Funktion „Assign a New Property“ (Neue Eigenschaft zuweisen), die über die PersonView.php-Seite eines anderen Benutzers erreichbar ist, leitet den Benutzer zu PropertyAssign.php. Dieses Skript prüft korrekt, ob der Benutzer die allgemeine Berechtigung isEditRecordsEnabled() besitzt, führt aber keine objektbezogene Autorisierungsprüfung durch, um zu verifizieren, ob der Benutzer die spezifische, in der URL übergebene PersonID bearbeiten darf. Dadurch kann ein Benutzer mit „Edit Records“ die Eigenschaften jeder Person im System ändern, einschließlich der eines Administrators.

  3. Vektor für gespeichertes XSS: Ein Angreifer kann diese beiden Fehler ausnutzen, um zur Profilseite des Administrators zu navigieren und das Formular „Assign a New Property“ zu verwenden, um eine bösartige XSS-Nutzlast im Datensatz des Administrators zu speichern. Das Feld Value für textbasierte Eigenschaften wird bei der Eingabe nicht ordnungsgemäß bereinigt (nur wird angewendet, was Ereignishandler nicht entfernt) und wird bei der Ausgabe nicht kodiert, was zu gespeichertem XSS führt.

PoC

Dieser Proof of Concept zeigt, wie ein Benutzer mit bestimmten mittleren Berechtigungen eine gespeicherte XSS-Nutzlast in das Profil des Hauptadministrators injizieren kann.

Voraussetzungen:

  • Ein Angreifer hat ein Konto mit zwei bestimmten aktivierten Berechtigungen:
    1. Edit Records
    2. Manage Properties and Classifications

Szenario:

  1. Als Angreifer anmelden: Melden Sie sich als der Benutzer mit den oben aufgeführten Berechtigungen an.
image
  1. Administrator ins Visier nehmen: Navigieren Sie direkt zur Profilseite des Administrators, die normalerweise PersonID=1 ist.
    root@kitploit:~
    http://localhost:8101/PersonView.php?PersonID=1
    
    (Der Zugriff wird aufgrund der IDOR in PersonView.php gewährt).
image
  1. Nutzlast injizieren:
    • Scrollen Sie auf der Profilseite des Administrators nach unten zum Tab Assigned Properties (Zugewiesene Eigenschaften).
    • Wählen Sie im Formular „Assign a New Property“ die textbasierte Eigenschaft z. B. („Test“). (Das Formular ist aufgrund der Berechtigung „Edit Records“ sichtbar).
    • Geben Sie in das erscheinende Textfeld Value (Wert) die folgende XSS-Nutzlast ein:
      root@kitploit:~
    • Klicken Sie auf die Schaltfläche „Assign“ (Zuweisen). Die Nutzlast wird nun im Datensatz des Administrators gespeichert. (Die Zuweisung ist aufgrund der Broken Access Control in PropertyAssign.php möglich).
image image
  1. Den Angriff auslösen:
    • Der Angreifer kann nun warten, bis sich der Administrator anmeldet und sein eigenes Profil aufruft.
    • Wenn der Administrator zu seiner eigenen Profilseite navigiert (PersonView.php?PersonID=1), wird die Nutzlast sofort ausgeführt und ein Alert-Fenster erscheint. Der Angreifer könnte eine fortschrittlichere Nutzlast verwenden, um das Sitzungscookie des Administrators zu stehlen.
image image

Auswirkungen

Dies ist eine kritische Schwachstelle zur Privilegienausweitung. Sie ermöglicht es einem Benutzer mit bestimmten, erhöhten (aber nicht administrativen) Berechtigungen, die volle Kontrolle über das Konto eines Administrators zu erlangen. Durch die Übernahme der Admin-Sitzung kann der Angreifer jede Aktion ausführen, die einem Administrator zur Verfügung steht, einschließlich der Erstellung neuer Admin-Konten, dem Löschen von Daten und möglicherweise der Verkettung mit anderen Schwachstellen, um eine vollständige Kompromittierung des Servers zu erreichen.

Zuschreibung

Gemeldet von: Łukasz Rybak

Referenzen

  • https://github.com/ChurchCRM/CRM/security/advisories/GHSA-fcw7-mmfh-7vjm

Haftungsausschluss

Diese CVE wurde im Rahmen koordinierter Offenlegungspraktiken für Schwachstellen verantwortungsvoll offengelegt. Die hier bereitgestellten Informationen dienen ausschließlich Bildungs- und Verteidigungszwecken.

Tool herunterladen
strip_tags
  • Eingabeverarbeitung (src/PropertyAssign.php): Speichert den Eigenschaftswert, nachdem nur strip_tags() angewendet wurde, was Ereignishandler-Attribute wie onerror zulässt.
  • Verwundbare Ausgabesenke (src/PersonView.php): Rendert den gespeicherten Eigenschaftswert direkt in das HTML, ohne htmlspecialchars(), wodurch die Nutzlast ausgeführt wird.
    root@kitploit:~
    // src/PersonView.php, Zeile ~722
    <td><?= $r2p_Value ?></td> // Verwundbar: Rohe Ausgabe